{ "info": { "author": "Jordan Jozwiak", "author_email": "support@jozapps.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python" ], "description": "[travis-url]: http://travis-ci.org/#!/jordanjoz1/android-localization-helper\n[travis-build-image]: https://secure.travis-ci.org/jordanjoz1/android-localization-helper.svg\n\n[coveralls-url]: https://coveralls.io/r/jordanjoz1/android-localization-helper\n[coveralls-image]: https://coveralls.io/repos/jordanjoz1/android-localization-helper/badge.svg\n\n[pypi-url]: https://badge.fury.io/py/android-localization-helper\n[pypi-image]: https://badge.fury.io/py/android-localization-helper.svg\n\n[arsenal-url]: https://android-arsenal.com/details/1/1367\n[arsenal-image]: https://img.shields.io/badge/Android%20Arsenal-android--localization--helper-brightgreen.svg?style=flat\n\n[downloads-url]: https://pypi.python.org/pypi/android-localization-helper/\n[downloads-image]: https://img.shields.io/pypi/dm/android-localization-helper.svg\n\n[codeclimate-url]: https://codeclimate.com/github/jordanjoz1/android-localization-helper\n[codeclimate-image]: https://codeclimate.com/github/jordanjoz1/android-localization-helper/badges/gpa.svg\n\n[![Travis build image][travis-build-image]][travis-url]\n[![Coverage Status][coveralls-image]][coveralls-url]\n[![PyPi version][pypi-image]][pypi-url]\n[![PyPi download count image][downloads-image]][downloads-url]\n[![Android Arsenal][arsenal-image]][arsenal-url]\n[![Code Climate][codeclimate-image]][codeclimate-url]\n\n\nandroid-localization-helper\n===========================\n\nPython script that checks for missing string translations in your project's localized languages.\n\nEver lose track of what strings have and haven't been translated in each language? Android Studio [made an awesome GUI](http://tools.android.com/recent/androidstudio087released) to help deal with this issue, but there is no easy way to export missing strings, so if you are missing more than a few strings in a language it can become a tenuous problem. Here's a solution!\n\nThis python package will output a directory with all the string translations that are missing for each localized values directory. It can also clean-up localized `strings.xml` to remove translations that are no longer used in the default `strings.xml` file.\n\n\n## Getting started\nRequirements:\n\n* Python >= 2.7.*\n* [Standard Android project structure](https://developer.android.com/tools/projects/index.html) for localized values-* folders in `res/` folder\n\n![Project structure](art/project_structure.png)\n\nTo install run:\n```bash\npip install android-localization-helper\n```\n\n## Usage\n\n#### Normal use\n\n`cd` into your `res/` folder, and run:\n\n```\nandroid-localization-helper\n```\n\nBy default, this creates an output directory `to_translate/` ([sample output](./sample_output)) with separate files for the missing strings in each language. Now that you have the untranslated strings for each language in a standard format, you can [send them out for translation](https://developer.android.com/distribute/tools/localization-checklist.html#gp-trans)!\n\n#### Change output directory (--output)\nUse the output option to change the output directory path. \n\nFor example, we can output the missing translations into a `to_translate/` directory on the Desktop:\n\n```\nandroid-localization-helper --output ~/Desktop/to_translate\n```\n \n#### Clean-up translated string files (--clean)\n \nThis option will remove strings that aren't in the default file and sort strings to match the default `strings.xml` order. **Warning:** *this will overwrite your existing localized `strings.xml` files, so make sure you have a back-up in case of any unexpected changes*\n```\nandroid-localization-helper --clean\n```\n\n#### Use multiple default string sources (--input)\n \nIt is recommended that all your translatable strings are in `strings.xml`. If that's not the case, the input option will allow you to include multiple default string source files. The localized output will still have only one file for each language. \n\nFor example, if we had `strings.xml` and `plurals.xml` files in our `values/` directory, we could make sure those are included as part of our default string source:\n\n```\nandroid-localization-helper --input strings.xml plurals.xml\n```\n\n### Options\n\n#### -h, --help\nPrints help message.\n\n#### --res\nPath to the app's /res folder. Like, `./main/res`\n\nBy default assumes the current directory\n\n#### --input\nList of file names to include from default values directory (e.g. *strings.xml* *plurals.xml*). By default, only *strings.xml* is used\n\n#### --output\nOutput directory path (directory will be created automatically). Like, `~/Desktop/to_translate`\n\nBy default creates *to_translate* folder in the current directory.\n\n#### --clean\nClean the existing `string.xml` files for each language. This will remove strings that are in the localized language but not in the default language (they presumably got removed from the default langauge). It will also sort the strings so that they are in the same order as the default language.\n\n\n## Release History\n* 2015-07-16\u2003\u2003\u2003v0.1.4\u2003\u2003 fix handling same resource name across multiple times\n* 2015-05-31\u2003\u2003\u2003v0.1.3\u2003\u2003 support for multiple default string sources\n* 2015-01-05\u2003\u2003\u2003v0.1.2\u2003\u2003 support for more language folders, better feedback and error handling\n* 2015-01-04\u2003\u2003\u2003v0.1.1\u2003\u2003 xliff namespace support, better indentation handling\n* 2015-01-03\u2003\u2003\u2003v0.1.0\u2003\u2003 Initial release\n\n## License\n\nSee the [LICENSE](LICENSE) file for license rights and limitations (MIT).\n\nCHANGES\n=======\n\n0.1.4 (2015-07-16)\n------------------\n\n- fix handling same resource name across multiple times\n\n\n0.1.3 (2015-05-31)\n------------------\n\n- support for multiple default string sources\n\n\n0.1.2 (2015-01-05)\n------------------\n\n- Support for more language folders\n- Better feedback\n- Better error handling\n\n\n0.1.1 (2015-01-04)\n------------------\n\n- Support for xliff namespace.\n- Preserves original indentation for tags\n- Added tests for plurals\n\n\n0.1.0 (2015-01-03)\n------------------\n\n- Initial release.", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jordanjoz1/android-localization-helper", "keywords": "android localization translation translate", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "android-localization-helper", "package_url": "https://pypi.org/project/android-localization-helper/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/android-localization-helper/", "project_urls": { "Homepage": "https://github.com/jordanjoz1/android-localization-helper" }, "release_url": "https://pypi.org/project/android-localization-helper/0.1.4/", "requires_dist": null, "requires_python": null, "summary": "Android localization helper", "version": "0.1.4" }, "last_serial": 1637271, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0f82f9f3cbcc20754ba1cda0c570db6f", "sha256": "40e67a8f44568a961d37578b00608542d41f5c5d19732323413b3011ff3608ac" }, "downloads": -1, "filename": "android_localization_helper-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f82f9f3cbcc20754ba1cda0c570db6f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7022, "upload_time": "2015-01-04T01:58:20", "url": "https://files.pythonhosted.org/packages/01/3f/35e27f3313565d3fd2e15d924b8ece81b6dc30cf6a5463d089d83b11a791/android_localization_helper-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29b87f50e2eca160b95d8166f0dc47de", "sha256": "76021369424d72de9c2ba65b20cae9e503ea3c7791f7713d1b572c9f27711954" }, "downloads": -1, "filename": "android-localization-helper-0.1.0.tar.gz", "has_sig": false, "md5_digest": "29b87f50e2eca160b95d8166f0dc47de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5251, "upload_time": "2015-01-04T01:58:17", "url": "https://files.pythonhosted.org/packages/91/be/6b2a04b5e89e7c351e8ad20d1835296a1462956db02fbe61ee9bea452ce2/android-localization-helper-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e6c28df9dd0edffc0adf892da4ccd4b1", "sha256": "b7a55a3682eb3a8eccf7a7f86cd6c3cc846fd20134a9537a36650907a7717531" }, "downloads": -1, "filename": "android_localization_helper-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "e6c28df9dd0edffc0adf892da4ccd4b1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7646, "upload_time": "2015-01-04T23:20:32", "url": "https://files.pythonhosted.org/packages/e2/fd/46de797f1ae65d994e8d9a28ae21b3422e0e328482979939f97e025ba8fd/android_localization_helper-0.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1bd5af86b29bbcfcbac22d2e9c65fbf", "sha256": "e227e9604193b733f3848bdf44253d61939ec542bc96116823733f4fb4222da3" }, "downloads": -1, "filename": "android-localization-helper-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d1bd5af86b29bbcfcbac22d2e9c65fbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5750, "upload_time": "2015-01-04T23:20:29", "url": "https://files.pythonhosted.org/packages/03/0d/2d20fbd7c669971a81915492f42c1bcf236f85235903abbaf908dc46243b/android-localization-helper-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6b51cbef73c586d805eafdbf27807828", "sha256": "bd2022b2479056b7ed811974fa2703c22bcd092d95790d96a1903baf3a8a7ea4" }, "downloads": -1, "filename": "android_localization_helper-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "6b51cbef73c586d805eafdbf27807828", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8377, "upload_time": "2015-01-06T04:32:29", "url": "https://files.pythonhosted.org/packages/35/7c/237a3de90d00894afede01cb5cbad4dbe9215f2ee40421a0d59e1e6231dd/android_localization_helper-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f1ce43d30a9672839edc0dae1ef733a", "sha256": "f721607ee1ee4890eb1a975eda407b4db31808d4cb68143313cd1f62448f10c2" }, "downloads": -1, "filename": "android-localization-helper-0.1.2.tar.gz", "has_sig": false, "md5_digest": "3f1ce43d30a9672839edc0dae1ef733a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6374, "upload_time": "2015-01-06T04:32:25", "url": "https://files.pythonhosted.org/packages/63/dc/44ac48f5456611e749c836b6e796ff45d04f54fa63b428f0a0a3d7a28b6e/android-localization-helper-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7ba4bf1666c1c3b9fd244b35068dc732", "sha256": "7d0f6698ecf373e6879464fa1562949debd19f1f48d1ba3b5a47fbdd5e0e3706" }, "downloads": -1, "filename": "android_localization_helper-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ba4bf1666c1c3b9fd244b35068dc732", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9320, "upload_time": "2015-05-31T21:00:24", "url": "https://files.pythonhosted.org/packages/04/7c/07e1fe28e1c5b8708a23e6d9ac1c3f007fae8affc32cdb56fb54915ee3b5/android_localization_helper-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f91492ec01aec8f88dfbd2ce15d4d991", "sha256": "74bdc6d32b997dd87e16cf5df543e43afabd19d2d6e2b9511e6a59a9e41bdeef" }, "downloads": -1, "filename": "android-localization-helper-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f91492ec01aec8f88dfbd2ce15d4d991", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7064, "upload_time": "2015-05-31T21:00:20", "url": "https://files.pythonhosted.org/packages/52/bc/64d74d146ab16e76c3b07da84b29171d479306a63ce5321fae9e6521faab/android-localization-helper-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d678e036a82f5810285ae8dcbcfe2ce6", "sha256": "727f5c0c95dd14cac2b7af8d7ee1cf32fea91c9809165bb587eeee60d77d64f1" }, "downloads": -1, "filename": "android_localization_helper-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d678e036a82f5810285ae8dcbcfe2ce6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10022, "upload_time": "2015-07-17T01:35:38", "url": "https://files.pythonhosted.org/packages/17/5f/b3fbb166582298b3030ce01da7f5dde5790ae0f832a0847f4f4d9d2d937e/android_localization_helper-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "670a22d7100edde09118b0df92870c4e", "sha256": "1ef3533b6f47039b93b6a61bef8b36ebe76ef285970d48e3dc36193b5454549d" }, "downloads": -1, "filename": "android-localization-helper-0.1.4.tar.gz", "has_sig": false, "md5_digest": "670a22d7100edde09118b0df92870c4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7646, "upload_time": "2015-07-17T01:35:35", "url": "https://files.pythonhosted.org/packages/28/77/3f83090c2cb4012acf1e307339b20d1e4858d75c0282390add0216a9f8d6/android-localization-helper-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d678e036a82f5810285ae8dcbcfe2ce6", "sha256": "727f5c0c95dd14cac2b7af8d7ee1cf32fea91c9809165bb587eeee60d77d64f1" }, "downloads": -1, "filename": "android_localization_helper-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d678e036a82f5810285ae8dcbcfe2ce6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10022, "upload_time": "2015-07-17T01:35:38", "url": "https://files.pythonhosted.org/packages/17/5f/b3fbb166582298b3030ce01da7f5dde5790ae0f832a0847f4f4d9d2d937e/android_localization_helper-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "670a22d7100edde09118b0df92870c4e", "sha256": "1ef3533b6f47039b93b6a61bef8b36ebe76ef285970d48e3dc36193b5454549d" }, "downloads": -1, "filename": "android-localization-helper-0.1.4.tar.gz", "has_sig": false, "md5_digest": "670a22d7100edde09118b0df92870c4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7646, "upload_time": "2015-07-17T01:35:35", "url": "https://files.pythonhosted.org/packages/28/77/3f83090c2cb4012acf1e307339b20d1e4858d75c0282390add0216a9f8d6/android-localization-helper-0.1.4.tar.gz" } ] }