{ "info": { "author": "Michal \u010ciha\u0159", "author_email": "michal@cihar.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Internationalization", "Topic :: Software Development :: Localization", "Topic :: Utilities" ], "description": "translation-finder\n==================\n\nA translation file finder for `Weblate`_, translation tool with tight version\ncontrol integration.\n\n.. image:: https://travis-ci.com/WeblateOrg/translation-finder.svg?branch=master\n :target: https://travis-ci.com/WeblateOrg/translation-finder\n :alt: Build Status\n\n.. image:: https://codecov.io/github/WeblateOrg/translation-finder/coverage.svg?branch=master\n :target: https://codecov.io/github/WeblateOrg/translation-finder?branch=master\n :alt: Code coverage\n\n.. image:: https://img.shields.io/pypi/v/translation-finder.svg\n :target: https://pypi.org/project/translation-finder/\n :alt: PyPI package\n\nThis library is used by `Weblate`_ to discover translation files in a cloned\nrepository. It can operate on both file listings and actual filesystem.\nFilesystem access is needed for more accurate detection in some cases\n(detecting encoding or actual syntax of similar files).\n\nUsage\n-----\n\nIn can be used from Python:\n\n.. code-block:: python\n\n >>> from translation_finder import discover\n >>> from pprint import pprint\n >>> results = discover('translation_finder/test_data/')\n >>> len(results)\n 21\n >>> pprint(results[0].match)\n {'file_format': 'aresource',\n 'filemask': 'app/src/res/main/values-*/strings.xml',\n 'name': 'android',\n 'template': 'app/src/res/main/values/strings.xml'}\n >>> pprint(results[10].match)\n {'file_format': 'po',\n 'filemask': 'locales/*.po',\n 'new_base': 'locales/messages.pot'}\n\nAdditional information about discovery can be obtained from meta attribute:\n\n.. code-block:: python\n\n >>> pprint(results[0].meta)\n {'discovery': 'TransifexDiscovery', 'origin': 'Transifex', 'priority': 500}\n >>> pprint(results[10].meta)\n {'discovery': 'GettextDiscovery', 'origin': None, 'priority': 1000}\n\n\nOr command line:\n\n.. code-block:: console\n\n $ weblate-discovery translation_finder/test_data/\n == Match 1 (Transifex) ==\n file_format : aresource\n filemask : app/src/res/main/values-*/strings.xml\n name : android\n template : app/src/res/main/values/strings.xml\n ...\n\n == Match 7 ==\n file_format : po\n filemask : locales/*.po\n new_base : locales/messages.pot\n\n.. _Weblate: https://weblate.org/", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/WeblateOrg/translation-finder", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://weblate.org/", "keywords": "i18n l10n gettext translate", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "translation-finder", "package_url": "https://pypi.org/project/translation-finder/", "platform": "any", "project_url": "https://pypi.org/project/translation-finder/", "project_urls": { "Download": "https://github.com/WeblateOrg/translation-finder", "Homepage": "https://weblate.org/" }, "release_url": "https://pypi.org/project/translation-finder/1.7/", "requires_dist": null, "requires_python": "", "summary": "A translation file finder used in Weblate.", "version": "1.7" }, "last_serial": 5975028, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "4d5eac2fc76b693c4fa07270e613f477", "sha256": "b8fc2523ff43a226d356c4d00e4a863c024db71e7b8a2f5ed1c6320029fa4897" }, "downloads": -1, "filename": "translation_finder-0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "4d5eac2fc76b693c4fa07270e613f477", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15224, "upload_time": "2018-10-19T14:17:24", "url": "https://files.pythonhosted.org/packages/57/f4/822fc7b550d002fd1a7fcc063e07ae6f69a749f6de9f30aa7a7924673a05/translation_finder-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dbd8cf48ddd56c056d08576729d3ed3e", "sha256": "2a447d9abbbfd9779e5a4f9dd6f3394a858837095b73e36da31c956a5b3babf1" }, "downloads": -1, "filename": "translation-finder-0.1.tar.gz", "has_sig": true, "md5_digest": "dbd8cf48ddd56c056d08576729d3ed3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21212, "upload_time": "2018-10-19T14:15:39", "url": "https://files.pythonhosted.org/packages/5e/79/5bd1e9dc65401e36c84d6eaa339b2ee1ba194664b5d9037fce56daa4a75a/translation-finder-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "369ba2e44f1fa88275bb39330f29d758", "sha256": "f8edd201b331721c1e6b0614ca6208d7c580145d2ca8080048b79a3e5282fb45" }, "downloads": -1, "filename": "translation_finder-0.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "369ba2e44f1fa88275bb39330f29d758", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27489, "upload_time": "2018-11-30T16:21:57", "url": "https://files.pythonhosted.org/packages/c7/cc/1f9186ff5bfdba39b375a0de8e12257d6001518544a1666ca4f11f6b11b5/translation_finder-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68d968019f272c9959f93ccc9a5f4728", "sha256": "461058cc01f65d7f7bd15e6fe34f8cb4d69e46d163a170afaf15c4c2dc200007" }, "downloads": -1, "filename": "translation-finder-0.2.tar.gz", "has_sig": true, "md5_digest": "68d968019f272c9959f93ccc9a5f4728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23663, "upload_time": "2018-11-30T16:21:55", "url": "https://files.pythonhosted.org/packages/99/1d/12439d9f2aec5d2bc709d3681abe921e0dac01a79d932debc3a972ac51bc/translation-finder-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "d1059fb466c6a072421e6fa90b47c5e2", "sha256": "e1ffe47cdee598c08eab64d6beb1a65cb6abb8768055ce4eff06b497613f9f93" }, "downloads": -1, "filename": "translation_finder-0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d1059fb466c6a072421e6fa90b47c5e2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29890, "upload_time": "2018-12-06T11:38:06", "url": "https://files.pythonhosted.org/packages/87/79/2fee3c17e1b68df0ea1e1a10a4aab5a3b478756f0eb1386bf24ebc423b90/translation_finder-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f96a728a4b84fdf9f1fb0f56cb80ce93", "sha256": "e65889a8a2b3089656e98690c4c0cfe62d916443f13c13741874583a0fb4a369" }, "downloads": -1, "filename": "translation-finder-0.3.tar.gz", "has_sig": true, "md5_digest": "f96a728a4b84fdf9f1fb0f56cb80ce93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24675, "upload_time": "2018-12-06T11:38:03", "url": "https://files.pythonhosted.org/packages/ed/4c/f93f829da17bde619277b2d6aef6f9d926f9c215e0b7282de4a261cb9d20/translation-finder-0.3.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "b891ebea77c319588c066be22c146bde", "sha256": "cb5bdb9a01308d8d9fa5981e5ae10eefc08e0526869be03ea54aa29cb1a04300" }, "downloads": -1, "filename": "translation_finder-1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b891ebea77c319588c066be22c146bde", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29997, "upload_time": "2019-01-22T13:24:17", "url": "https://files.pythonhosted.org/packages/5f/6d/0e17685bb857034c36bc1527e0debb9a8c98106a2fa8353586cf64e8f9f7/translation_finder-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a8e71e9538dbecd988e14041946ac77", "sha256": "0bf9a03bffe0d16bd7818ce38f2eebe671c9ee8a9283f7d21bc94e707dfc8dae" }, "downloads": -1, "filename": "translation-finder-1.0.tar.gz", "has_sig": true, "md5_digest": "3a8e71e9538dbecd988e14041946ac77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24919, "upload_time": "2019-01-22T13:24:14", "url": "https://files.pythonhosted.org/packages/51/48/6accf60e91f2974238e26967546cb995417618d3a393e4b77e076bac3423/translation-finder-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "312c05c733b1b3e1698b30d9d3121a62", "sha256": "e9b306a3a88932a72a1393a6636d550a4b46682e5b11bf001e4b3b584a9fe2fb" }, "downloads": -1, "filename": "translation_finder-1.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "312c05c733b1b3e1698b30d9d3121a62", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31399, "upload_time": "2019-03-20T13:32:35", "url": "https://files.pythonhosted.org/packages/c8/39/0d6ba764d437fb51f5de53f553dd26961a44c45448bf3ce846afa13dcae0/translation_finder-1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32b95349f3856db272b322b9fb83fb59", "sha256": "f92e8082b00f021341ffd3ee4b7681a791fe4fbbbb305d1ed4fec77eca7cb5e9" }, "downloads": -1, "filename": "translation-finder-1.1.tar.gz", "has_sig": true, "md5_digest": "32b95349f3856db272b322b9fb83fb59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26304, "upload_time": "2019-03-20T13:32:32", "url": "https://files.pythonhosted.org/packages/32/58/aa37394ff1ac9af7dcb6f5e5a3992276073c0bbb57b073742d28a33b4dd4/translation-finder-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "12da61111d664fa891e891589e060f52", "sha256": "2fb740e897843f8d43f2ecb144ce9c9a917d1a600a5a52efce6d93b29a607d7e" }, "downloads": -1, "filename": "translation_finder-1.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "12da61111d664fa891e891589e060f52", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31923, "upload_time": "2019-04-17T14:47:57", "url": "https://files.pythonhosted.org/packages/ab/75/97aee302558f0c07f430e8f15c3ae8a820eec2e6d46c5ec11783e34127ef/translation_finder-1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c653603eefe812bb9f4362063c93ccb", "sha256": "ace2ce0563f1b9e9a6698a317f865fb2b9c60c23d31410f4e6753baaea0433ca" }, "downloads": -1, "filename": "translation-finder-1.2.tar.gz", "has_sig": true, "md5_digest": "6c653603eefe812bb9f4362063c93ccb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26960, "upload_time": "2019-04-17T14:47:55", "url": "https://files.pythonhosted.org/packages/1c/a1/7218c6d5a14e7d006c8ee96e073bbf90024c2b21888b979e23c3962f3be3/translation-finder-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "d98167569e91efcc961702e478055518", "sha256": "d32789e3cc3f2a6ea057a618eacf186cb90d59815f751509492e7e56266c404a" }, "downloads": -1, "filename": "translation_finder-1.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d98167569e91efcc961702e478055518", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 33650, "upload_time": "2019-04-28T19:15:15", "url": "https://files.pythonhosted.org/packages/0d/9e/a1ac8fab8b41dc815ed1b6944a8d1a42c4cbab598b87030c9bf96e573270/translation_finder-1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90c4b1df630ef62ae591de91feba7729", "sha256": "c0ef15c7b2e76a5799a6bd2f7724b888b193a63b4e54a707394e39af41b91827" }, "downloads": -1, "filename": "translation-finder-1.3.tar.gz", "has_sig": true, "md5_digest": "90c4b1df630ef62ae591de91feba7729", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29521, "upload_time": "2019-04-28T19:15:10", "url": "https://files.pythonhosted.org/packages/54/7e/94e4c7539433826adf5dc5c0e4cfd9b6703635e98d389ca1a34398773be5/translation-finder-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "297853b28ca104a67b0f0c82fd6b469c", "sha256": "d25c476f8289f4c9a4aba3525dada2d011bc3d94414983330a254fdbdd5c5f62" }, "downloads": -1, "filename": "translation_finder-1.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "297853b28ca104a67b0f0c82fd6b469c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34804, "upload_time": "2019-04-29T08:15:29", "url": "https://files.pythonhosted.org/packages/dc/1f/f10a3d4cf1c1afab6d24c08237e04098cc360563edd5968ad0a1578ff0fc/translation_finder-1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b705795c6dcd580ae92e472d37332134", "sha256": "0c95b22affad76968d1b1823ff6cd5a8ba477feabb1fb03858c7405a8e7c6477" }, "downloads": -1, "filename": "translation-finder-1.4.tar.gz", "has_sig": true, "md5_digest": "b705795c6dcd580ae92e472d37332134", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28847, "upload_time": "2019-04-29T08:15:23", "url": "https://files.pythonhosted.org/packages/dc/1a/43fb4dc76b674c993fd7597f6ca079dd57cc299ca0e6a6979b04e853d591/translation-finder-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "07abdbb7851ab91f8572107f70db5498", "sha256": "f90214b1d55711891f4ab8bd341ef82ebbec65b43a451133c0b5f43aad9e048d" }, "downloads": -1, "filename": "translation_finder-1.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "07abdbb7851ab91f8572107f70db5498", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37297, "upload_time": "2019-05-29T08:24:04", "url": "https://files.pythonhosted.org/packages/55/8f/2d50a5076a99dc0ad24fca1dee2ce14491d85cbe6db67862dbd2643f4ba8/translation_finder-1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "757b621b6eba4012dae5a46962ec1423", "sha256": "9ea83d0870e3f0b5da4f7fe33f2d82e8f00868001a85a4248143cbcb0ec9ceaf" }, "downloads": -1, "filename": "translation-finder-1.5.tar.gz", "has_sig": true, "md5_digest": "757b621b6eba4012dae5a46962ec1423", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31338, "upload_time": "2019-05-29T08:24:01", "url": "https://files.pythonhosted.org/packages/7b/fc/7f9fbc7ed02b3b5923614fa53b0acafced76f4d5768c132463551ec935c2/translation-finder-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "0b7629fad92aa5c78f70d559c279bfcd", "sha256": "854d4c2a1214eb2d5227cbf3399a9db67ff5332bc089a0d22d141a19b6864673" }, "downloads": -1, "filename": "translation_finder-1.6-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "0b7629fad92aa5c78f70d559c279bfcd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37908, "upload_time": "2019-06-26T13:50:40", "url": "https://files.pythonhosted.org/packages/75/cc/1a4f6efe591faf8cb3a32cd15fb56b8533c238bcffa9895b7db706bad149/translation_finder-1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a215b38c61a2e57506947d8ab96fb8d7", "sha256": "4a54110cdf79cc589c61531c951d15817bf8379bf7c646115708c7f803210953" }, "downloads": -1, "filename": "translation-finder-1.6.tar.gz", "has_sig": true, "md5_digest": "a215b38c61a2e57506947d8ab96fb8d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33032, "upload_time": "2019-06-26T13:50:37", "url": "https://files.pythonhosted.org/packages/68/37/effda2ef7afd86343ba64005ab47a589fdedd21ba89a96965d55214e2062/translation-finder-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "b3b8beb75513b06b7a6abb5e9f0217c3", "sha256": "05041d3d9424f6a321b2c987a4ad7110f7723b2027807910c13c03e00d5c58fe" }, "downloads": -1, "filename": "translation_finder-1.7-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b3b8beb75513b06b7a6abb5e9f0217c3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 38038, "upload_time": "2019-10-15T06:04:50", "url": "https://files.pythonhosted.org/packages/dd/da/e772f88388a3b68420b0d4c9e086c93df704c0e0f95987277bcac16b4fa9/translation_finder-1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cee16441e52ef279a945747f57719a11", "sha256": "0915790ad2bd226c1e8742b3de6ad955349027053d71285f201dadfad04f9edd" }, "downloads": -1, "filename": "translation-finder-1.7.tar.gz", "has_sig": true, "md5_digest": "cee16441e52ef279a945747f57719a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33637, "upload_time": "2019-10-15T06:04:47", "url": "https://files.pythonhosted.org/packages/ed/4e/66d62bf5a99209182a439b64466dda0c862d3076a6b850f0b491ca40dd6b/translation-finder-1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b3b8beb75513b06b7a6abb5e9f0217c3", "sha256": "05041d3d9424f6a321b2c987a4ad7110f7723b2027807910c13c03e00d5c58fe" }, "downloads": -1, "filename": "translation_finder-1.7-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b3b8beb75513b06b7a6abb5e9f0217c3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 38038, "upload_time": "2019-10-15T06:04:50", "url": "https://files.pythonhosted.org/packages/dd/da/e772f88388a3b68420b0d4c9e086c93df704c0e0f95987277bcac16b4fa9/translation_finder-1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cee16441e52ef279a945747f57719a11", "sha256": "0915790ad2bd226c1e8742b3de6ad955349027053d71285f201dadfad04f9edd" }, "downloads": -1, "filename": "translation-finder-1.7.tar.gz", "has_sig": true, "md5_digest": "cee16441e52ef279a945747f57719a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33637, "upload_time": "2019-10-15T06:04:47", "url": "https://files.pythonhosted.org/packages/ed/4e/66d62bf5a99209182a439b64466dda0c862d3076a6b850f0b491ca40dd6b/translation-finder-1.7.tar.gz" } ] }