{ "info": { "author": "cxhjet", "author_email": "cxhjet@qq.com", "bugtrack_url": null, "classifiers": [], "description": "`rst file editor `_\nmw_aiohttp_babel\n===================\n\u4fee\u6539aiohttp_babel\u6e90\u7801\uff0c\u4f7f\u5b83\u80fd\u9002\u5e94 maxwin\u56e2\u961f\u7684\u5f00\u53d1\u6846\u67b6\n\naiohttp_babel adds i18n and l10n support to aiohttp.\n\n\u53d8\u66f4\uff1a\n--------\n1\uff0c\u589e\u52a0\u7c7b\u4f3cflask_babel\u7684Babel\u7c7b\n2\uff0c_() \u76f4\u63a5\u8c03\u7528 babel.support.Translations.translation,\u539f\u6765\u7684_()\u6539\u4e3a\u4e86lazy_gettext()\n\nBabel\u4f7f\u7528\u6837\u4f8b\uff1a\n------------------\n\n.. code-block:: python\n\n import aiohttp_jinja2\n from mw_aiohttp.web import Application\n from mw_aiohttp_babel import Babel,_\n\n babel = Babel(directory='/path/to/locales', domain='messages',default_locale='en_US')\n\n # you can use your own locale detection method, if necessary.\n # aiohttp_babel checks cookie parameter `locale` or `Accept-Language`\n # header by default.\n # def detector(request):\n # if request.url.host == 'es.example.com':\n # return 'es'\n # elif request.url.host == 'zh.example.com':\n # return 'zh'\n # else:\n # return 'en'\n # set_locale_detector(detector)\n\n jinja_loader = jinja2.FileSystemLoader('./templates')\n app = Application()\n babel.init_app(app)\n aiohttp_jinja2.setup(app, loader=jinja_loader)\n jinja_env = aiohttp_jinja2.get_env(app)\n jinja_env.globals['_'] = _\n\n\u4fdd\u7559aiohttp_babel\u7684\u6837\u4f8b\uff1a\n----------------------------\n\n.. code-block:: python\n\n import aiohttp_jinja2\n from mw_aiohttp.web import Application\n from mw_aiohttp_babel.locale import (load_gettext_translations,\n set_default_locale,\n set_locale_detector)\n from mw_aiohttp_babel.middlewares import babel_middleware, lazy_gettext as _\n\n\n set_default_locale('en_GB') # set default locale, if necessary\n # load compiled locales\n load_gettext_translations('/path/to/locales', 'domain')\n\n # you can use your own locale detection method, if necessary.\n # aiohttp_babel checks cookie parameter `locale` or `Accept-Language`\n # header by default.\n def detector(request):\n if request.url.host == 'es.example.com':\n return 'es'\n elif request.url.host == 'zh.example.com':\n return 'zh'\n else:\n return 'en'\n set_locale_detector(detector)\n\n jinja_loader = jinja2.FileSystemLoader('./templates')\n app = Application(middlewares=[babel_middleware])\n\n aiohttp_jinja2.setup(app, loader=jinja_loader)\n jinja_env = aiohttp_jinja2.get_env(app)\n jinja_env.globals['_'] = _\n\n\n\n\u521b\u5efa\u591a\u8bed\u8a00\u6587\u4ef6 :\n--------------------\n\n1. \u521b\u5efapot\u6a21\u677f\n\n ``$ pybabel extract -F babel.cfg -o messages.pot app``\n\n2. \u521b\u5efa\u591a\u8bed\u8a00\u7684po\u6587\u4ef6\n\n > \u7b80\u4f53\u4e2d\u6587\n\n ``$ pybabel init -i messages.pot -d app/translations -l zh_CN``\n\n > \u7e41\u4f53\u4e2d\u6587\n\n ``$ pybabel init -i messages.pot -d app/translations -l zh_TW``\n\n > \u82f1\u6587\n\n ``$ pybabel init -i messages.pot -d app/translations -l en``\n\n3. \u66f4\u65b0\u591a\u8bed\u8a00\u7684po\u6587\u4ef6\n\n ``$ pybabel update -i messages.pot -d app/translations``\n\n4. \u4ea7\u751fmo\u6587\u4ef6\n\n ``$ pybabel compile -d app/translations``\n\nHow to extract & compile locales:\n----------------------------------\n\nhttp://babel.pocoo.org/en/latest/messages.html\n\nhttp://babel.pocoo.org/en/latest/cmdline.html\n\n\nCode from:\n-----------\n\ntornado-babel: https://github.com/openlabs/tornado-babel\n\ndjango-babel: https://github.com/python-babel/django-babel\n\nChanges\n=======\n\n0.1.7 (2018-10-25)\n------------------\n\n- fix gbk error\n\n0.1.4 (2018-10-25)\n------------------\n\n- \u4fee\u6539readme.rst\u7684\u9519\u8bef", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/maxwin-inc/mw-aiohttp-babel/src", "keywords": "aiohttp locale babel localisation", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "mw-aiohttp-babel", "package_url": "https://pypi.org/project/mw-aiohttp-babel/", "platform": "", "project_url": "https://pypi.org/project/mw-aiohttp-babel/", "project_urls": { "Homepage": "https://bitbucket.org/maxwin-inc/mw-aiohttp-babel/src" }, "release_url": "https://pypi.org/project/mw-aiohttp-babel/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "Babel localisation support for aiohttp,\u9002\u7528maxwin\u56e2\u961f\u7684\u5f00\u53d1\u6846\u67b6", "version": "0.1.7" }, "last_serial": 4434401, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "02fd2904bb6599d7d79f1a614f621791", "sha256": "78a0d0c89c9fd35fc62eaaa4979875af1f084227ce3227d531603944de710e1b" }, "downloads": -1, "filename": "mw-aiohttp-babel-0.1.0.tar.gz", "has_sig": false, "md5_digest": "02fd2904bb6599d7d79f1a614f621791", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5498, "upload_time": "2018-10-23T07:12:38", "url": "https://files.pythonhosted.org/packages/b9/92/67f0b2ffdbeb15a078857f5bd7e259b4c9ecc9238302c9c7f6e02ab392aa/mw-aiohttp-babel-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "bd0c569b7dd7229c2c959c72578cd0e7", "sha256": "f15d7d978ae7e0386c645a9b609ea927c4291627eca09ff75f501e38f1198595" }, "downloads": -1, "filename": "mw-aiohttp-babel-0.1.1.tar.gz", "has_sig": false, "md5_digest": "bd0c569b7dd7229c2c959c72578cd0e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5496, "upload_time": "2018-10-23T07:46:03", "url": "https://files.pythonhosted.org/packages/c7/e9/dc1387e1e1d46a55fc1e0ae4ddf28d9a6bc9d2a014a4bc81aa568b97ae94/mw-aiohttp-babel-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1736e2d4071b5b8338059e36a14fa9be", "sha256": "a70987111b6e7e6b99aa8f4baa3757e9ba9ec6e0fc118177f12be63a49e5770f" }, "downloads": -1, "filename": "mw-aiohttp-babel-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1736e2d4071b5b8338059e36a14fa9be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6122, "upload_time": "2018-10-25T09:00:43", "url": "https://files.pythonhosted.org/packages/2a/24/11d4b34f155e71632be5ba15d332736b1b09cb97da0e7df4e5505fd82ac2/mw-aiohttp-babel-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9336a5d8bdfdaaec6426f97f45f49b04", "sha256": "6d765c2c2996ae24a0b33b8b30718320a78a0ea9974683c24d03c9feaecad89d" }, "downloads": -1, "filename": "mw-aiohttp-babel-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9336a5d8bdfdaaec6426f97f45f49b04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6159, "upload_time": "2018-10-25T10:14:47", "url": "https://files.pythonhosted.org/packages/ac/af/c4c53fb0216796537d6f6230a6d7ee5109c8ed1d4af36012efb1822c5a62/mw-aiohttp-babel-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "df1f97200a61caa4261bf094694487ad", "sha256": "8a3e2327056c0386316ca616939017e2f8dd462164b39ba415c630b0601a6e6c" }, "downloads": -1, "filename": "mw-aiohttp-babel-0.1.4.tar.gz", "has_sig": false, "md5_digest": "df1f97200a61caa4261bf094694487ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6187, "upload_time": "2018-10-25T10:30:30", "url": "https://files.pythonhosted.org/packages/51/41/6245dde79f9d2450f52f3253f0d5d3cd54e49687889d5120fed646cac0c9/mw-aiohttp-babel-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "be148a567dbd0a7288093afdef3ca668", "sha256": "7bfb6e4b7dc2906587c5bf97dd8cd4aa1ab2a31852c591ad3c4b0cc5ccdf32f1" }, "downloads": -1, "filename": "mw-aiohttp-babel-0.1.5.tar.gz", "has_sig": false, "md5_digest": "be148a567dbd0a7288093afdef3ca668", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6227, "upload_time": "2018-10-31T04:25:31", "url": "https://files.pythonhosted.org/packages/1f/2e/a0865b4d33401953e77288d40fd55f24f5d2161c18186eb56c5303f31131/mw-aiohttp-babel-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "a86bb251060db8d10a2d785e9bb4a1eb", "sha256": "c955bcb5e08239c6bd1f69d95fdfe66b5cdee2fcaa9d2c243c5b42b106323166" }, "downloads": -1, "filename": "mw-aiohttp-babel-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a86bb251060db8d10a2d785e9bb4a1eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6239, "upload_time": "2018-10-31T04:28:37", "url": "https://files.pythonhosted.org/packages/ce/f8/d4f477c555a2cfcfd95c61f78970f841f484fd64ecc77f259cb18bd5520c/mw-aiohttp-babel-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "8dc3125a7826af9a203a48eb66761ebc", "sha256": "84941f388b81eade7be5101c3aad57b701135cac7e486d342f490026fd4cd156" }, "downloads": -1, "filename": "mw-aiohttp-babel-0.1.7.tar.gz", "has_sig": false, "md5_digest": "8dc3125a7826af9a203a48eb66761ebc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6227, "upload_time": "2018-10-31T04:33:24", "url": "https://files.pythonhosted.org/packages/d4/59/6659f14c81eb953fb4871418f04458315899411bfa2a0e43a59a4bac5f84/mw-aiohttp-babel-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8dc3125a7826af9a203a48eb66761ebc", "sha256": "84941f388b81eade7be5101c3aad57b701135cac7e486d342f490026fd4cd156" }, "downloads": -1, "filename": "mw-aiohttp-babel-0.1.7.tar.gz", "has_sig": false, "md5_digest": "8dc3125a7826af9a203a48eb66761ebc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6227, "upload_time": "2018-10-31T04:33:24", "url": "https://files.pythonhosted.org/packages/d4/59/6659f14c81eb953fb4871418f04458315899411bfa2a0e43a59a4bac5f84/mw-aiohttp-babel-0.1.7.tar.gz" } ] }