{ "info": { "author": "Roger Ineichen and the Zope Community", "author_email": "zope-dev@zope.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Zope3", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP" ], "description": "This package provides a persistent INegotiator utility implementation.\n\n\nDetailed Documentation\n**********************\n\n==========\nNegotiator\n==========\n\nThis package provides a local implementation of the ``INegotiator`` interface\ndefined in ``zope.i18n.interfaces``. The negotiator implementation offers some\nadditional usefull attributes which are explained later. This ``INegotiator``\nis also used in the ``z3c.language.switch`` package.\n\nLet's setup a negotiator:\n\n >>> from z3c.language.negotiator import app\n >>> negotiator = app.Negotiator()\n\nSuch a negotiator provides the following interfaces:\n\n >>> from zope.i18n.interfaces import INegotiator\n >>> from z3c.language.negotiator.interfaces import INegotiatorManager\n\n >>> INegotiator.providedBy(negotiator)\n True\n >>>\n >>> INegotiatorManager.providedBy(negotiator)\n True\n >>>\n\nBy default a negotiator has the following values:\n\n >>> negotiator.policy\n 'session --> browser --> server'\n\n >>> negotiator.serverLanguage\n u'en'\n\n >>> negotiator.offeredLanguages\n []\n\nIf we set a policy with a wrong value, we will get a ValueError:\n\n >>> negotiator.policy = u'wrong'\n Traceback (most recent call last):\n ...\n ValueError: ('Not a valid policy name.', u'wrong')\n\nRegister the negotiator as a global utility:\n\n >>> import zope.component\n >>> zope.component.provideUtility(negotiator, INegotiator)\n\nNow we can use the vocabulary and see what offered languages are available:\n\n >>> from z3c.language.negotiator import vocabulary\n >>> vocab = vocabulary.OfferedLanguagesVocabulary(None)\n >>> vocab\n \n\n >>> vocab._terms\n []\n\nAdd some offered languages and check the vocabulary again:\n\n >>> negotiator.offeredLanguages = [u'de', u'fr']\n >>> negotiator.offeredLanguages\n [u'de', u'fr']\n\nTry to get the utility and ceck the offeredLanguages again:\n\n >>> util = zope.component.getUtility(INegotiator)\n >>> util.offeredLanguages\n [u'de', u'fr']\n\nNow check the vocabulary again:\n\n >>> vocab = vocabulary.OfferedLanguagesVocabulary(None)\n >>> vocab._terms[0].value\n u'de'\n >>> vocab._terms[0].token\n 'de'\n >>> vocab._terms[0].title\n u'de'\n >>> vocab._terms[1].value\n u'fr'\n >>> vocab._terms[1].token\n 'fr'\n >>> vocab._terms[1].title\n u'fr'\n\nSee ``tests.py`` for more tests.\n\n\n=======\nCHANGES\n=======\n\n1.1.3 (2010-10-01)\n------------------\n\n- Cache ONLY for the ``session`` setting. Others turned out as a bad idea.\n It's pretty straightforward now, we're caching session data lookups because\n those lookups are sooo slow.\n Would be better done in z3c.language.session, but there's nothing persistent.\n\n\n1.1.2 (2010-08-05)\n------------------\n\n- Fixed an issue with the cache:\n The cache just ignored the ``languages`` parameter.\n The first request saved a specific language (e.g. ``de-de``) to the cache,\n but the second did not have that available in ``languages``, still the cached\n value was returned.\n Worst case the uncached method is called.\n\n\n1.1.1 (2010-07-21)\n------------------\n\n- added language choice caching, is by default turned off\n\n- test coverage is now 100%\n\n\n1.1.0 (2009-11-29)\n------------------\n\n- adjust dependencies, reflect changes in zope packages\n\n- clanup tests, remove unused tests and skip using zope.app.testing\n\n\n1.0.1 (2008-01-24)\n------------------\n\n- Bug: Corrected meta data.\n\n\n1.0.0 (2008-01-21)\n------------------\n\n- Restructure: Removed the two vocabularies\n ``AvailableTranslationDomainLanguagesVocabulary`` and\n ``AvailableTranslationDomainLanguagesVocabularyForZ3C`` which depend on the\n ``zope.app.i18n`` implementation. Note these vocabularies are not persistent\n and if you will need it, let's implement this in another package. This\n allows us to skip all dependencies to ``zope.app.i18n``.\n\n- Restructure: Moved ``zope.language.negotiator`` to it's namespace package.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/z3c.language.negotiator", "keywords": "zope3 z3c i18n language negotiator", "license": "ZPL 2.1", "maintainer": null, "maintainer_email": null, "name": "z3c.language.negotiator", "package_url": "https://pypi.org/project/z3c.language.negotiator/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/z3c.language.negotiator/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/z3c.language.negotiator" }, "release_url": "https://pypi.org/project/z3c.language.negotiator/1.1.3/", "requires_dist": null, "requires_python": null, "summary": "Zope3 i18n language negotiator.", "version": "1.1.3" }, "last_serial": 802037, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "28bb722ffc6101289478cd5b38eaa9e5", "sha256": "98632b839052f1a90eafabe3a71ab6b0121cf3f29348e9890a81a2be361821ff" }, "downloads": -1, "filename": "z3c.language.negotiator-1.0.0.tar.gz", "has_sig": false, "md5_digest": "28bb722ffc6101289478cd5b38eaa9e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9744, "upload_time": "2008-01-21T08:51:02", "url": "https://files.pythonhosted.org/packages/4c/ad/22cb6c845ff7f16caf45638946549acd7e586ada3ba6f4cb2d891997a3a3/z3c.language.negotiator-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f28b53d5323c1d452fedf540fd895543", "sha256": "e5f60582d330a39a81765e87b5a937ed4c9bb6cf0fc2fa55ab397e4812683cf0" }, "downloads": -1, "filename": "z3c.language.negotiator-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f28b53d5323c1d452fedf540fd895543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9877, "upload_time": "2008-01-25T05:32:23", "url": "https://files.pythonhosted.org/packages/31/3b/291de213565f895d678bc36fb5dd342d90a7e565e2be28598c2d0456d962/z3c.language.negotiator-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "64428fe6419d9018ff9164559cfd778f", "sha256": "27cff8b2a0ead7b642e2d4977632bc28d2cea58fa8a3dbe95588dc43ab88d9a4" }, "downloads": -1, "filename": "z3c.language.negotiator-1.0.2.tar.gz", "has_sig": false, "md5_digest": "64428fe6419d9018ff9164559cfd778f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11399, "upload_time": "2010-07-21T14:24:43", "url": "https://files.pythonhosted.org/packages/d6/c4/c6d8410d9713ac153b8c30e78038b5a62ac31e94b7a6d128290ee41df5c0/z3c.language.negotiator-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "005d6db94d86f52fa62acbb8f5539a3b", "sha256": "a9ab4161ce512fc6f6959421fe37ecde151401788e190cc15c7872c8b027c3df" }, "downloads": -1, "filename": "z3c.language.negotiator-1.0.3.tar.gz", "has_sig": false, "md5_digest": "005d6db94d86f52fa62acbb8f5539a3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11990, "upload_time": "2010-08-05T10:20:35", "url": "https://files.pythonhosted.org/packages/27/db/f62ff540e7b159248d4a9b5b0a18d6f74c2f1937ca866712be816cf08d9e/z3c.language.negotiator-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "c4f9cbe31bebf21f519b53a57a744cf1", "sha256": "48e7f5b8ab3e53821d63b599a4180292b9bd6bbadf737474aa02eec6779575a5" }, "downloads": -1, "filename": "z3c.language.negotiator-1.0.4.tar.gz", "has_sig": false, "md5_digest": "c4f9cbe31bebf21f519b53a57a744cf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12123, "upload_time": "2010-10-01T17:33:53", "url": "https://files.pythonhosted.org/packages/3c/a2/768151266a4c243406df4f38ffa1ae4564ed68db4d575e03e6d87033ac70/z3c.language.negotiator-1.0.4.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c98199df083aedc0acf4d123177f8969", "sha256": "61a97ec42743254daac3073b49d9f4c10a993419fd832a46370f06cfbc77eb77" }, "downloads": -1, "filename": "z3c.language.negotiator-1.1.0.zip", "has_sig": false, "md5_digest": "c98199df083aedc0acf4d123177f8969", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23225, "upload_time": "2009-11-29T05:53:15", "url": "https://files.pythonhosted.org/packages/e1/52/36b50e2bb5f904f1ef7f7837e65604f05146ee5d91d62acae74d73fd6537/z3c.language.negotiator-1.1.0.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "27609ef891e8bfc12be0059e960b21db", "sha256": "cdf6dab5eb9b1b334782179639a23ac6819aa0ec0dbedff2ea9ea07166979ae9" }, "downloads": -1, "filename": "z3c.language.negotiator-1.1.1.tar.gz", "has_sig": false, "md5_digest": "27609ef891e8bfc12be0059e960b21db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10836, "upload_time": "2010-07-21T14:36:21", "url": "https://files.pythonhosted.org/packages/5b/5f/f2c26f755401ea8eadc7ae1bfd342b70c43fd5d8907cf0a4527faa30f369/z3c.language.negotiator-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "b4d0dce87fb4065c31a7ce96abace5fa", "sha256": "9dfab326925be1c6453391f06bdabda0cdd3476688d3efc10f212e64aff99313" }, "downloads": -1, "filename": "z3c.language.negotiator-1.1.2.tar.gz", "has_sig": false, "md5_digest": "b4d0dce87fb4065c31a7ce96abace5fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11519, "upload_time": "2010-08-05T10:12:19", "url": "https://files.pythonhosted.org/packages/57/41/662b534032869cd4eea371c523b5c4992c2d4f7c30a3958c91a613517056/z3c.language.negotiator-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "24562525de23a6b3faaad9ae154a0825", "sha256": "9c2d98084b99806ca458fad4c037f6f3195686e4d1522ae570524f5f5c54b150" }, "downloads": -1, "filename": "z3c.language.negotiator-1.1.3.tar.gz", "has_sig": false, "md5_digest": "24562525de23a6b3faaad9ae154a0825", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11625, "upload_time": "2010-10-01T17:35:36", "url": "https://files.pythonhosted.org/packages/6b/85/58f6856af6e71963f6f50ffab759d1426b5cb3e3684904ea5019a683697b/z3c.language.negotiator-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "24562525de23a6b3faaad9ae154a0825", "sha256": "9c2d98084b99806ca458fad4c037f6f3195686e4d1522ae570524f5f5c54b150" }, "downloads": -1, "filename": "z3c.language.negotiator-1.1.3.tar.gz", "has_sig": false, "md5_digest": "24562525de23a6b3faaad9ae154a0825", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11625, "upload_time": "2010-10-01T17:35:36", "url": "https://files.pythonhosted.org/packages/6b/85/58f6856af6e71963f6f50ffab759d1426b5cb3e3684904ea5019a683697b/z3c.language.negotiator-1.1.3.tar.gz" } ] }