Exemple #1
0
    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_})
Exemple #2
0
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
Exemple #3
0
# 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_)]))