{
"info": {
"author": "Isotoma Limited",
"author_email": "open@isotoma.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Framework :: Plone",
"Framework :: Zope2",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: JavaScript",
"Programming Language :: Python :: 2.4",
"Programming Language :: Python :: 2.5",
"Programming Language :: Python :: 2.6"
],
"description": "Javascript localization for Zope / Plone\r\n========================================\r\njsl10n.js provides a function called 'translate' which takes at least 3 \r\narguments:\r\n - the i18n domain;\r\n - an array of objects with the properties 'msgid' and 'default' set to the \r\ntranslation ID and default value, appropriately;\r\n - a callback function, which will be called with a single object argument with \r\nproperties mapping translation IDs to translated strings once they have been \r\nretrieved. Further to these, there are 2 optional arguments:\r\n - a boolean value which when set to 'true' will cause the translations to be \r\nretrieved with each page load;\r\n - a boolean value which when set to 'true' causes debugging messages to be \r\nprinted to the Javascript console.\r\nThe function uses AJAX to call the view 'translate.js' which returns the JSON \r\nobject given to the callback function. If the JSON call fails, the callback will \r\nstill be triggered with the default values returned. Fallbacks should be \r\nimplemented.\r\n\r\nExample usage\r\n-------------\r\nrequired_translations = [\r\n {'msgid':'my_message',\r\n 'default':'Hello world!'}\r\n ];\r\ntranslate('domain', required_translations,\r\n function (translations) {\r\n alert(translations['my_message']);\r\n }\r\n);\r\n\r\nCaveats\r\n-------\r\n - Any caching should use GET variables in the cache key for 'translate.js'.\r\n - These strings are not picked up by i18ndude, and therefore if they do not \r\nappear elsewhere in the codebase (in templates or Python code), they will not be \r\nadded automatically to the POT files.\r\n - Since the POT files are managed automatically, if the strings are added to \r\nthe POT files manually, they will be removed on next update. There are two \r\npossible solutions to this:\r\n 1) Define a new domain which is managed manuall;\r\n 2) Create a dummy template file somewhere in the codebase which is never \r\nactually called, but contains all the msgids and defaults used exclusively in \r\nJavascript;\r\n 3) Include the translations in sections of relevant templates in sections \r\nwhich are never rendered, for example:\r\n\r\n\r\n Hello world!\r\n\r\n\r\nDependencies\r\n------------\r\nsimplejson_\r\n.. _simplejson: http://pypi.python.org/pypi/simplejson/\r\n\r\nInstallation\r\n============\r\n\r\nWithout buildout\r\n----------------\r\nInstall this package in either your system path packages or in the lib/python\r\ndirectory of your Zope instance. You can do this using either easy_install or\r\nvia the setup.py script. You'll also need to install plone.keyring in the same\r\nfashion.\r\n\r\nAfter installing the package it needs to be registered in your Zope instance.\r\nThis can be done by putting a jsl10n-configure.zcml file in the\r\netc/package-includes directory with this content::\r\n\r\n \r\n\r\nor, alternatively, you can add that line to the configure.zcml in a package or\r\nProduct that is already registered.\r\n\r\nWith buildout\r\n-------------\r\neggs = jsl10n\r\nzcml = jsl10n\r\n\r\nCopyright\r\n=========\r\nCopyright 2010 Isotoma Limited\r\n\r\n Licensed under the Apache License, Version 2.0 (the \"License\");\r\n you may not use this file except in compliance with the License.\r\n You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n Unless required by applicable law or agreed to in writing, software\r\n distributed under the License is distributed on an \"AS IS\" BASIS,\r\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n See the License for the specific language governing permissions and\r\n limitations under the License.",
"description_content_type": null,
"docs_url": null,
"download_url": "http://svn.plone.org/svn/collective/jsl10n",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://blog.isotoma.com/2010/02/javascript-localization-within-plone/",
"keywords": "zope plone javascript l10n localization i18n internationalization",
"license": "",
"maintainer": "Richard Mitchell",
"maintainer_email": "richard.mitchell@isotoma.com",
"name": "jsl10n",
"package_url": "https://pypi.org/project/jsl10n/",
"platform": "",
"project_url": "https://pypi.org/project/jsl10n/",
"project_urls": {
"Download": "http://svn.plone.org/svn/collective/jsl10n",
"Homepage": "http://blog.isotoma.com/2010/02/javascript-localization-within-plone/"
},
"release_url": "https://pypi.org/project/jsl10n/1.1/",
"requires_dist": null,
"requires_python": null,
"summary": "",
"version": "1.1"
},
"last_serial": 793795,
"releases": {
"1.0": [
{
"comment_text": "",
"digests": {
"md5": "d32a501e01bf936645691233b88deec7",
"sha256": "2ed4d2ad20f5760a03ade528d702ff8826e8a3db9c35543015165c4b4b469cc5"
},
"downloads": -1,
"filename": "jsl10n-1.0-py2.4.egg",
"has_sig": false,
"md5_digest": "d32a501e01bf936645691233b88deec7",
"packagetype": "bdist_egg",
"python_version": "2.4",
"requires_python": null,
"size": 11617,
"upload_time": "2010-02-10T11:29:58",
"url": "https://files.pythonhosted.org/packages/80/f5/5dabc9e752eab141c7d13f52de5460481c35088dd6282461ac580d248552/jsl10n-1.0-py2.4.egg"
},
{
"comment_text": "",
"digests": {
"md5": "407b9f5c70e951039cd5d467560eae47",
"sha256": "2f4ac6fc79af710f77c43266a50073e576a1b6394656e13d8850bb731a8a7387"
},
"downloads": -1,
"filename": "jsl10n-1.0-py2.5.egg",
"has_sig": false,
"md5_digest": "407b9f5c70e951039cd5d467560eae47",
"packagetype": "bdist_egg",
"python_version": "2.5",
"requires_python": null,
"size": 11591,
"upload_time": "2010-02-10T11:29:51",
"url": "https://files.pythonhosted.org/packages/a2/f3/48a778ade9d858aa79cef3e0e36b1ee7e639d48c51da032e88cc24caf92a/jsl10n-1.0-py2.5.egg"
},
{
"comment_text": "",
"digests": {
"md5": "0f680bc2b873e8bb5040e8f86ad992ac",
"sha256": "95a77164bb0c328175b79636773bc0751874124b2e48e3b1afb99413716b7396"
},
"downloads": -1,
"filename": "jsl10n-1.0-py2.6.egg",
"has_sig": false,
"md5_digest": "0f680bc2b873e8bb5040e8f86ad992ac",
"packagetype": "bdist_egg",
"python_version": "2.6",
"requires_python": null,
"size": 11586,
"upload_time": "2010-02-10T11:29:46",
"url": "https://files.pythonhosted.org/packages/f1/1f/f675d7e89b7fd7677839e71658d1505c985003cdd9369d6591eed57b0a32/jsl10n-1.0-py2.6.egg"
},
{
"comment_text": "",
"digests": {
"md5": "84dcb514942f77ff1988b7e8ca7ce9b0",
"sha256": "9028486c581a9d0202964a5dcdd776269ed634e2325a6e7b5bb8ef01e7f2b605"
},
"downloads": -1,
"filename": "jsl10n-1.0.tar.gz",
"has_sig": false,
"md5_digest": "84dcb514942f77ff1988b7e8ca7ce9b0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11692,
"upload_time": "2010-02-10T11:30:07",
"url": "https://files.pythonhosted.org/packages/cb/dc/72d43be8a83aa76ae4659552fd0562052bea3f01c53de3dce8bbcf828844/jsl10n-1.0.tar.gz"
}
],
"1.1": [
{
"comment_text": "",
"digests": {
"md5": "0437165c98ef77a16dd9caae7ee69102",
"sha256": "ad82b9663bbc0e864ecb7234fad35119b31c1dd61c348574dff46af5403817b8"
},
"downloads": -1,
"filename": "jsl10n-1.1-py2.4.egg",
"has_sig": false,
"md5_digest": "0437165c98ef77a16dd9caae7ee69102",
"packagetype": "bdist_egg",
"python_version": "2.4",
"requires_python": null,
"size": 11631,
"upload_time": "2010-02-10T22:44:54",
"url": "https://files.pythonhosted.org/packages/f7/43/2c31d6af752ba1418417469ea26fae7bddba0124a4bb9d5f59f133418086/jsl10n-1.1-py2.4.egg"
},
{
"comment_text": "",
"digests": {
"md5": "7fc60777f858ae09e07da3d84a1a2757",
"sha256": "232c5fda832381480fceba8b9a346931a34c86fa5b197902a5978101315bce8b"
},
"downloads": -1,
"filename": "jsl10n-1.1-py2.5.egg",
"has_sig": false,
"md5_digest": "7fc60777f858ae09e07da3d84a1a2757",
"packagetype": "bdist_egg",
"python_version": "2.5",
"requires_python": null,
"size": 11605,
"upload_time": "2010-02-10T22:45:02",
"url": "https://files.pythonhosted.org/packages/b1/7c/37b36707255ecf10b4a3ccdd889b3a986ec4b9840100bc3194e4113c5272/jsl10n-1.1-py2.5.egg"
},
{
"comment_text": "",
"digests": {
"md5": "fae8cb8d2de2b9d09941c20780a06a50",
"sha256": "d074a6ce1476d733aec222445d94c6e40c52a014db75d59f4fef9640626296b8"
},
"downloads": -1,
"filename": "jsl10n-1.1-py2.6.egg",
"has_sig": false,
"md5_digest": "fae8cb8d2de2b9d09941c20780a06a50",
"packagetype": "bdist_egg",
"python_version": "2.6",
"requires_python": null,
"size": 11600,
"upload_time": "2010-02-10T22:45:07",
"url": "https://files.pythonhosted.org/packages/2b/a8/8e6a24eeae3348dbbd7b60e1061221d8ef0d6d0e369e7cd199f23d9f8ac4/jsl10n-1.1-py2.6.egg"
},
{
"comment_text": "",
"digests": {
"md5": "14a7d81f5e39bed2e21707a8e585ccb4",
"sha256": "6001bba392dc0aa5351ea72e096e86656e204faca695861172a185be3459d85f"
},
"downloads": -1,
"filename": "jsl10n-1.1.tar.gz",
"has_sig": false,
"md5_digest": "14a7d81f5e39bed2e21707a8e585ccb4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12128,
"upload_time": "2010-02-10T22:45:14",
"url": "https://files.pythonhosted.org/packages/0c/5c/daa38fb0be926af273d352c6b9f2ee20acddf69e689fb62260aa01a40c71/jsl10n-1.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "0437165c98ef77a16dd9caae7ee69102",
"sha256": "ad82b9663bbc0e864ecb7234fad35119b31c1dd61c348574dff46af5403817b8"
},
"downloads": -1,
"filename": "jsl10n-1.1-py2.4.egg",
"has_sig": false,
"md5_digest": "0437165c98ef77a16dd9caae7ee69102",
"packagetype": "bdist_egg",
"python_version": "2.4",
"requires_python": null,
"size": 11631,
"upload_time": "2010-02-10T22:44:54",
"url": "https://files.pythonhosted.org/packages/f7/43/2c31d6af752ba1418417469ea26fae7bddba0124a4bb9d5f59f133418086/jsl10n-1.1-py2.4.egg"
},
{
"comment_text": "",
"digests": {
"md5": "7fc60777f858ae09e07da3d84a1a2757",
"sha256": "232c5fda832381480fceba8b9a346931a34c86fa5b197902a5978101315bce8b"
},
"downloads": -1,
"filename": "jsl10n-1.1-py2.5.egg",
"has_sig": false,
"md5_digest": "7fc60777f858ae09e07da3d84a1a2757",
"packagetype": "bdist_egg",
"python_version": "2.5",
"requires_python": null,
"size": 11605,
"upload_time": "2010-02-10T22:45:02",
"url": "https://files.pythonhosted.org/packages/b1/7c/37b36707255ecf10b4a3ccdd889b3a986ec4b9840100bc3194e4113c5272/jsl10n-1.1-py2.5.egg"
},
{
"comment_text": "",
"digests": {
"md5": "fae8cb8d2de2b9d09941c20780a06a50",
"sha256": "d074a6ce1476d733aec222445d94c6e40c52a014db75d59f4fef9640626296b8"
},
"downloads": -1,
"filename": "jsl10n-1.1-py2.6.egg",
"has_sig": false,
"md5_digest": "fae8cb8d2de2b9d09941c20780a06a50",
"packagetype": "bdist_egg",
"python_version": "2.6",
"requires_python": null,
"size": 11600,
"upload_time": "2010-02-10T22:45:07",
"url": "https://files.pythonhosted.org/packages/2b/a8/8e6a24eeae3348dbbd7b60e1061221d8ef0d6d0e369e7cd199f23d9f8ac4/jsl10n-1.1-py2.6.egg"
},
{
"comment_text": "",
"digests": {
"md5": "14a7d81f5e39bed2e21707a8e585ccb4",
"sha256": "6001bba392dc0aa5351ea72e096e86656e204faca695861172a185be3459d85f"
},
"downloads": -1,
"filename": "jsl10n-1.1.tar.gz",
"has_sig": false,
"md5_digest": "14a7d81f5e39bed2e21707a8e585ccb4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12128,
"upload_time": "2010-02-10T22:45:14",
"url": "https://files.pythonhosted.org/packages/0c/5c/daa38fb0be926af273d352c6b9f2ee20acddf69e689fb62260aa01a40c71/jsl10n-1.1.tar.gz"
}
]
}