Babel location support for AIOHTP
aiohttpbabel的Python项目详细描述
aiohttp_babel为aiohttp添加了i18n和l10n支持
用法:
importaiohttp_jinja2fromaiohttp.webimportApplicationfromaiohttp_babel.localeimport(load_gettext_translations,set_default_locale,set_locale_detector)fromaiohttp_babel.middlewaresimportbabel_middleware,_set_default_locale('en_GB')# set default locale, if necessary# load compiled localesload_gettext_translations('/path/to/locales','domain')# you can use your own locale detection method, if necessary.# aiohttp_babel checks cookie parameter `locale` or `Accept-Language`# header by default.defdetector(request):ifrequest.url.host=='es.example.com':return'es'elifrequest.url.host=='zh.example.com':return'zh'else:return'en'set_locale_detector(detector)jinja_loader=jinja2.FileSystemLoader('./templates')app=Application(middlewares=[babel_middleware])aiohttp_jinja2.setup(app,loader=jinja_loader)jinja_env=aiohttp_jinja2.get_env(app)jinja_env.globals['_']=_