# $Id: __init__.py 7126 2011-09-16 19:24:51Z milde $ # Author: David Goodger # Copyright: This module has been placed in the public domain. # Internationalization details are documented in # . """ This package contains modules for language-dependent features of Docutils. """ __docformat__ = 'reStructuredText' from docutils.utils import normalize_language_tag _languages = {} def get_language(language_code, reporter=None): """Return module with language localizations. `language_code` is a "BCP 47" language tag. If there is no matching module, warn and fall back to English. """ # TODO: use a dummy module returning emtpy strings?, configurable? for tag in normalize_language_tag(language_code): if tag in _languages: return _languages[tag] try: module = __import__(tag, globals(), locals()) except ImportError: continue _languages[tag] = module return module if reporter is not None: reporter.warning( 'language "%s" not supported: ' % language_code + 'Docutils-generated text will be in English.') module = __import__('en', globals(), locals()) _languages[tag] = module # warn only one time! return module