def __init__(self, application, config=dict(), **kw): self.application = application self.config = config localedir = self._find_locale_dir() log.info("Locale directory: %s", localedir) domain = self._find_text_domain(localedir) log.info("Text domain for translations: %s", domain) languages = self._find_translations(localedir, domain) log.info("Supported languages: %r", languages) # Register the appropriate i18n functions in the global template scope. registry.append({'_': _, '__': __, 'L_': L_, 'N_': N_})
def templateinterface(app, config): # Automatically use TemplateInterface templating engines unless explicitly forbidden. if not defaultbool(config.get('web.templating', True), ['templateinterface']): return app log.debug("Loading TemplateInterface template engine middleware.") try: from web.core.templating import TemplatingMiddleware, registry registry.append(web.core.namespace) return TemplatingMiddleware(app, config) except ImportError: # pragma: no cover log.exception("Error loading templating middleware") raise
# encoding: utf-8 import warnings import web.core.locale from web.core.locale import * from web.core.middleware import defaultbool, middleware from web.core.templating import registry warnings.warn("The 'i18n' module has been renamed 'locale'.\nPlease update your import statements.", DeprecationWarning) __all__ = web.core.locale.__all__ @middleware('locale', after="widgets") def i18n(app, config): if not defaultbool(config.get('web.i18n', True), ['gettext']): return app from web.core.locale import LocaleMiddleware return LocaleMiddleware(app, config) # Register the appropriate i18n functions in the global template scope. registry.append(dict([('_', _), ('L_', L_), ('N_', N_)]))