def __call__(self, environ, start_response):
"""Called by WSGI when a request comes in.
Args:
environ: A dict holding environment variables.
start_response: A WSGI callable (PEP333).
Returns:
Application response data as an iterable. It just returns
the return value of the inner WSGI app.
"""
req = Request(environ)
preferred_languages = list(req.accept_language)
if self.default_language not in preferred_languages:
preferred_languages.append(self.default_language)
translation = gettext.translation(
'messages', self.locale_path, fallback=True,
languages=preferred_languages, codeset='utf-8')
translation.install(unicode=True, names=['gettext', 'ngettext'])
environ['i18n_utils.active_translation'] = translation
environ['i18n_utils.preferred_languages'] = preferred_languages
return self.app(environ, start_response)
评论列表
文章目录