Mercurial > repos > guerler > springsuite
comparison planemo/lib/python3.7/site-packages/docutils/languages/__init__.py @ 0:d30785e31577 draft
"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
| author | guerler |
|---|---|
| date | Fri, 31 Jul 2020 00:18:57 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:d30785e31577 |
|---|---|
| 1 # $Id: __init__.py 8376 2019-08-27 19:49:29Z milde $ | |
| 2 # Author: David Goodger <goodger@python.org> | |
| 3 # Copyright: This module has been placed in the public domain. | |
| 4 | |
| 5 # Internationalization details are documented in | |
| 6 # <http://docutils.sf.net/docs/howto/i18n.html>. | |
| 7 | |
| 8 """ | |
| 9 This package contains modules for language-dependent features of Docutils. | |
| 10 """ | |
| 11 | |
| 12 __docformat__ = 'reStructuredText' | |
| 13 | |
| 14 import sys | |
| 15 | |
| 16 from docutils.utils import normalize_language_tag | |
| 17 | |
| 18 | |
| 19 _languages = {} | |
| 20 | |
| 21 def get_language(language_code, reporter=None): | |
| 22 """Return module with language localizations. | |
| 23 | |
| 24 `language_code` is a "BCP 47" language tag. | |
| 25 If there is no matching module, warn and fall back to English. | |
| 26 """ | |
| 27 # TODO: use a dummy module returning emtpy strings?, configurable? | |
| 28 for tag in normalize_language_tag(language_code): | |
| 29 tag = tag.replace('-', '_') # '-' not valid in module names | |
| 30 if tag in _languages: | |
| 31 return _languages[tag] | |
| 32 try: | |
| 33 module = __import__(tag, globals(), locals(), level=1) | |
| 34 except ImportError: | |
| 35 try: | |
| 36 module = __import__(tag, globals(), locals(), level=0) | |
| 37 except ImportError: | |
| 38 continue | |
| 39 _languages[tag] = module | |
| 40 return module | |
| 41 if reporter is not None: | |
| 42 reporter.warning( | |
| 43 'language "%s" not supported: ' % language_code + | |
| 44 'Docutils-generated text will be in English.') | |
| 45 module = __import__('en', globals(), locals(), level=1) | |
| 46 _languages[tag] = module # warn only one time! | |
| 47 return module |
