{ "info": { "author": "Wichert Akkerman", "author_email": "wichert@wiggy.net", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: DFSG approved", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "Translating via spreadsheets\n============================\n\nNot all translators are comfortable with using PO-editors such as `Poedit\n`_ or translation tools like `Transifex\n`_. For them this package provides simple tools to\nconvert PO-files to `xlsx`-files and back again. This also has another benefit:\nit is possible to include multiple languages in a single spreadsheet, which can be\nhelpful when translating to multiple similar languages at the same time (for\nexample simplified and traditional chinese).\n\nThe format for spreadsheets is simple: \n\n* If any message use a message context the first column will specify the\n context. If message contexts are not used this column will be skipped.\n* The next (or first) column contains the message id. This is generally the\n canonical text.\n* A set of columns for any requested comment types (message occurrences, source\n comments or translator comments).\n* A column with the translated text for each locale. Fuzzy translations are\n marked in italic.\n\nThe first row contains the column headers. *``xls-to-po`` uses these to locale\ninformation in the file, so make sure never to change these!*\n\n\nCatalog to spreadshseet\n-----------------------\n\nConverting one or more PO-files to an xls file is done with the `po-to-xls`\ncommand::\n\n po-to-xls nl.po\n\nThis will create a new file `messages.xlsx` with the Dutch translations. Multiple\nPO files can be specified::\n\n po-to-xls -o texts.xlsx zh_CN.po zh_TW.po nl.po\n\nThis will generate a ``texts.xlsx`` file with all simplified Chinese,\ntraditional Chinese and Dutch translations.\n\n``po-to-xls`` will guess the locale for a PO file by looking at the `Language`\nkey in the file metadata, falling back to the filename of no language informatino\nis specified. You can override this by explicitly specifying the locale on the\ncommandline. For example::\n\n po-to-xs nl:locales/nl/LC_MESSAGES/mydomain.po\n\nThis will read ``locales/nl/LC_MESSAGES/mydomain.po`` and treat it as Dutch\n(``nl`` locale).\n\nYou can also use the ``-c`` or ``--comments`` option with one of those choices:\n``translator``, ``extracted``, ``reference``, ``all`` to add more column in the\noutput.\n\n\nSpreadshseet to catalog\n-----------------------\n\nTranslations can be converted back from a spreadsheet into a PO-file using the\n`xls-to-po` command::\n\n xls-to-po nl texts.xlsx nl.po\n\nThis will take the Dutch (`nl`) translations from `texts.xls`, and (re)create a\n``nl.po`` file using those. You can merge those into an existing po-file using\na tool like gettext's ``msgmerge``.\n\nChangelog\n=========\n\n1.4.2 - May 11, 2017\n-------------------------\n\n- Fix another problem with message context handling in po-to-xls.\n\n\n1.4.1 - May 11, 2017\n-------------------------\n\n- Fix po-to-xls handling of messages with a context.\n\n\n1.4.0 - December 23, 2016\n-------------------------\n\n- Fix compatibility with current OpenPyxl releases.\n\n- Fix Python 3 compatibility.\n\n\n1.3.0 - July 6, 2015\n--------------------\n\n- Fix another ReST syntax error in package description.\n\n- Correcty handle rows with a missing translation.\n\n\n1.2.0 - June 12, 2015\n---------------------\n\n- Fix ReST syntax error in package description.\n\n- Skip rows without a message id.\n\n\n1.1.0 - 25 March 2015\n---------------------\n\n- Use `openpyxl `_ instead of xlrd/xlwt. This\n fixes warnings about cell type conversions when opening generated xlsx files\n in Apple Numbers (and possibly others).\n\n\n1.0.0 - 15 March 2015\n---------------------\n\n- Split po-excel conversion tools out from `lingua `_.\n\n- Simplify CLI interfaces.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wichert/po-xls", "keywords": "translation po gettext Babel lingua", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "poxls", "package_url": "https://pypi.org/project/poxls/", "platform": "", "project_url": "https://pypi.org/project/poxls/", "project_urls": { "Homepage": "https://github.com/wichert/po-xls" }, "release_url": "https://pypi.org/project/poxls/1.4.2/", "requires_dist": null, "requires_python": "", "summary": "Convert between Excel and PO files", "version": "1.4.2" }, "last_serial": 2866873, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "8753eb00cc68aa271a5e12907ac5d1d6", "sha256": "c9fd4e5e602c6ca1f771dadf264d46111f8cb18244f46974c89edd7e15d7ae04" }, "downloads": -1, "filename": "poxls-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8753eb00cc68aa271a5e12907ac5d1d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5804, "upload_time": "2015-03-15T21:00:24", "url": "https://files.pythonhosted.org/packages/79/b7/330510bbab26aabce2e4d28d151d5afa1d3644692903857b79b0fdcb1306/poxls-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b7d3b17e1286767dc022fa606e4d21b9", "sha256": "254c5d1449e0b942982219f39159b09b05d6fea5f76d9796f312bb4ce8a26b9d" }, "downloads": -1, "filename": "poxls-1.1.0.tar.gz", "has_sig": false, "md5_digest": "b7d3b17e1286767dc022fa606e4d21b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5531, "upload_time": "2015-03-25T07:39:35", "url": "https://files.pythonhosted.org/packages/ab/64/fa13381b0dc646db115f110df49360f9f09cb953e00e79f6155ecd5e91aa/poxls-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "58a36b94a5c6979cbdaaa34f0be0f6f0", "sha256": "a19f8746494c4f46ed3a640c0c8da34bbc268223bdfbf442c270852fb9d9b601" }, "downloads": -1, "filename": "poxls-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "58a36b94a5c6979cbdaaa34f0be0f6f0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8669, "upload_time": "2015-06-12T22:55:31", "url": "https://files.pythonhosted.org/packages/88/e9/f1b69ba05a128e4be46ecfce80345469bff5cd755bf1d07e2165f4f99b5d/poxls-1.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b987807e6ace5443fb5a3d1ee2e985d6", "sha256": "21873c640df980e5467198419e459d8924fdbb9a25b0076ae8e918e005d441cf" }, "downloads": -1, "filename": "poxls-1.2.0.tar.gz", "has_sig": false, "md5_digest": "b987807e6ace5443fb5a3d1ee2e985d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5647, "upload_time": "2015-06-12T22:55:28", "url": "https://files.pythonhosted.org/packages/54/92/99776fd1fb229e502212da5ea661a2fdc65078164ab9b3716452d2990d28/poxls-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "08bc5f9d42a4cefb07c88f02f2883a9e", "sha256": "2fcc4d1f569ec9106d5ffca6008135ef2bcb21c7c9a09b67e5a6e3febb753399" }, "downloads": -1, "filename": "poxls-1.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "08bc5f9d42a4cefb07c88f02f2883a9e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8764, "upload_time": "2015-07-06T12:10:47", "url": "https://files.pythonhosted.org/packages/4d/14/005c2783990380f45b985747633fd1d1e542c3642b6d03eaafd4397ea9ad/poxls-1.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb458c6176e714a07ee83200fa47fe61", "sha256": "eb85311b325dae4f31da20d4e3e6ac957a351aad238f0ac0da2ee6e6bfd6a0f8" }, "downloads": -1, "filename": "poxls-1.3.0.tar.gz", "has_sig": false, "md5_digest": "eb458c6176e714a07ee83200fa47fe61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5693, "upload_time": "2015-07-06T12:10:51", "url": "https://files.pythonhosted.org/packages/16/1f/5fb424dc8897c1b440c65b64b7d02869372b34787c09a8d99d4fbb334bbd/poxls-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "68e23c60a20a535ed5d913be479922ea", "sha256": "27de3d418fbd3ad4ac8f77a34459ae8014f4731a03922466fc7a99eec76c6d6c" }, "downloads": -1, "filename": "poxls-1.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "68e23c60a20a535ed5d913be479922ea", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8880, "upload_time": "2016-12-23T09:30:45", "url": "https://files.pythonhosted.org/packages/d2/9b/fc1de9a8f89272e4a15892bdda053236b853e24d5b70ab3d0c224b72a035/poxls-1.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8f22a05b14401b7336f29bf7e6a0e9a", "sha256": "b04515e612707c7e6c9333267baee3ac0d859976d8bde169b5f350488bd8a6b4" }, "downloads": -1, "filename": "poxls-1.4.0.tar.gz", "has_sig": false, "md5_digest": "d8f22a05b14401b7336f29bf7e6a0e9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5784, "upload_time": "2016-12-23T09:30:42", "url": "https://files.pythonhosted.org/packages/e1/6f/1fee515737e1b312d68222823c7636753486ec4e29c173319e1a0c5946d2/poxls-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "b31c244f40a99bb37d27db0ba405bb62", "sha256": "daa3d8b4092d772412252c0540363dda63d762e2920f536d39ba3d113ef7e0c0" }, "downloads": -1, "filename": "poxls-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b31c244f40a99bb37d27db0ba405bb62", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9129, "upload_time": "2017-05-11T11:21:38", "url": "https://files.pythonhosted.org/packages/69/c3/1425eda0641a22008e6710e4599bbe3cfe806698ea103704b51c17e7ec1a/poxls-1.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ee25b53769ba9112fba89479f5e691d", "sha256": "96ce6f78ce3e13eabc557bdc06286aa50242bf696803458cc5a27c13869d29b4" }, "downloads": -1, "filename": "poxls-1.4.1.tar.gz", "has_sig": false, "md5_digest": "1ee25b53769ba9112fba89479f5e691d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6004, "upload_time": "2017-05-11T11:21:36", "url": "https://files.pythonhosted.org/packages/14/ff/3ec00a8f0891ea590998ac72aba30030aad7c98eb872f3d296efdf2ad755/poxls-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "f07ea7d0421848e973ef52d014c04c43", "sha256": "3ab55288e596a4c759536e08bfc6c64152bf182e1a50546c579b04a496187dfa" }, "downloads": -1, "filename": "poxls-1.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f07ea7d0421848e973ef52d014c04c43", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9178, "upload_time": "2017-05-11T12:40:35", "url": "https://files.pythonhosted.org/packages/2b/b2/dccfe885329dd58866698dc396d36508ca835166f474218261fd00acd9e8/poxls-1.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2aa5009e2571fa41f4dbdf8323e0a717", "sha256": "86409c243009992cfa0356447dfc039e495912906e4f0e84d059a0feab5da17c" }, "downloads": -1, "filename": "poxls-1.4.2.tar.gz", "has_sig": false, "md5_digest": "2aa5009e2571fa41f4dbdf8323e0a717", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6051, "upload_time": "2017-05-11T12:40:33", "url": "https://files.pythonhosted.org/packages/2a/b1/4df511ef23bdf324f8b555afa7f472c64db5e948bea053d09bfab6a3ba78/poxls-1.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f07ea7d0421848e973ef52d014c04c43", "sha256": "3ab55288e596a4c759536e08bfc6c64152bf182e1a50546c579b04a496187dfa" }, "downloads": -1, "filename": "poxls-1.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f07ea7d0421848e973ef52d014c04c43", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9178, "upload_time": "2017-05-11T12:40:35", "url": "https://files.pythonhosted.org/packages/2b/b2/dccfe885329dd58866698dc396d36508ca835166f474218261fd00acd9e8/poxls-1.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2aa5009e2571fa41f4dbdf8323e0a717", "sha256": "86409c243009992cfa0356447dfc039e495912906e4f0e84d059a0feab5da17c" }, "downloads": -1, "filename": "poxls-1.4.2.tar.gz", "has_sig": false, "md5_digest": "2aa5009e2571fa41f4dbdf8323e0a717", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6051, "upload_time": "2017-05-11T12:40:33", "url": "https://files.pythonhosted.org/packages/2a/b1/4df511ef23bdf324f8b555afa7f472c64db5e948bea053d09bfab6a3ba78/poxls-1.4.2.tar.gz" } ] }