{"id":13897247,"url":"https://github.com/Saravananslb/py-googletranslation","last_synced_at":"2025-07-17T14:30:39.595Z","repository":{"id":40688815,"uuid":"327787645","full_name":"Saravananslb/py-googletranslation","owner":"Saravananslb","description":"pygoogletranslation: Free and Unlimited Google translate API for Python. Translates totally free of charge.","archived":false,"fork":false,"pushed_at":"2021-03-02T16:17:30.000Z","size":94,"stargazers_count":150,"open_issues_count":14,"forks_count":37,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-24T17:42:28.159Z","etag":null,"topics":["googletrans","googletranslate","googletranslateapi","pygoogletranslation","python","python-translator","translation"],"latest_commit_sha":null,"homepage":"https://saravananslb.github.io/py-googletranslation/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Saravananslb.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2021-01-08T03:22:29.000Z","updated_at":"2024-04-10T08:11:50.000Z","dependencies_parsed_at":"2022-08-10T00:40:49.356Z","dependency_job_id":null,"html_url":"https://github.com/Saravananslb/py-googletranslation","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saravananslb%2Fpy-googletranslation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saravananslb%2Fpy-googletranslation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saravananslb%2Fpy-googletranslation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saravananslb%2Fpy-googletranslation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Saravananslb","download_url":"https://codeload.github.com/Saravananslb/py-googletranslation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226270423,"owners_count":17598075,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["googletrans","googletranslate","googletranslateapi","pygoogletranslation","python","python-translator","translation"],"created_at":"2024-08-06T18:03:27.377Z","updated_at":"2024-11-25T03:30:46.714Z","avatar_url":"https://github.com/Saravananslb.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"PYGOOGLETRANSLATION\n===================\n\nhttps://pypi.org/project/pygoogletranslation/\n\n|GitHub license| |travis status| |Documentation Status| |PyPI version|\n|Coverage Status| |Code Climate|\n\n**Unlimited Text Translation** (no limitation)\n\npygoogletranslation is a **free** and **unlimited** python library that\nimplemented Google Translate API. This uses the `Google Translate Ajax\nAPI \u003chttps://translate.google.com\u003e`__ to make calls to such methods as\ndetect and translate.\n\nCompatible with Python 3.6+.\n\n\nFeatures\n--------\n\n-  Translation from file (.doc, .docx, .pdf, .txt)\n-  Fast and reliable - it uses the same servers that\n   translate.google.com uses\n-  Auto language detection\n-  Bulk translations\n-  Request\n\nTODO\n~~~~\n\nmore features are coming soon.\n\n-  Proxy support\n-  Internal session management (for better bulk translations)\n\nPython Request Module\n~~~~~~~~~~~~~~\n\nThis library uses request to get an data from google.\n\nRequest :\n   POST\n   GET\n   \n\n\nHow does this library work\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou may wonder how this library works properly, whereas other\npython translation package use the token mechanism but that is\nfailling because google has changed their token mechanism.\n\n--------------\n\nInstallation\n------------\n\nTo install, either use things like pip with the package \"pygoogletranslation\"\nor download the package and put the \"pygoogletranslation\" directory into your\npython path.\n\n.. code:: bash\n\n    $ pip install pygoogletranslation\n\nBasic Usage\n-----------\n\nIf source language is not given, google translate attempts to detect the\nsource language.\n\n\n.. code:: python\n\n    \u003e\u003e\u003e from pygoogletranslation import Translator\n    \u003e\u003e\u003e translator = Translator()\n    \u003e\u003e\u003e translator.translate('Good Morning', dest='ta')\n    # \u003cTranslated src=ko dest=ta text=காலை வணக்கம். pronunciation=Good evening.\u003e\n    \u003e\u003e\u003e translator.translate('안녕하세요.', dest='ja')\n    # \u003cTranslated src=ko dest=ja text=こんにちは。 pronunciation=Kon'nichiwa.\u003e\n    \u003e\u003e\u003e translator.translate('veritas lux mea', src='la')\n    # \u003cTranslated src=la dest=en text=The truth is my light pronunciation=The truth is my light\u003e\n\nCustomize proxy URL\n~~~~~~~~~~~~~~~~~~~~~\n\nYou can use proxies in the translation.\n\n.. code:: python\n\n    \u003e\u003e\u003e from pygoogletranslation import Translator\n    \u003e\u003e\u003e proxy = {\"http\":\"http://sampleproxy.com:80\"}\n    \u003e\u003e\u003e translator = Translator(proxies=proxy)\n\nAdvanced Usage (Bulk)\n~~~~~~~~~~~~~~~~~~~~~\n\nArray can be used to translate a batch of strings in a single method\ncall and a single HTTP session. The exact same method shown above works\nfor arrays as well.\n\n.. code:: python\n\n    \u003e\u003e\u003e from pygoogletranslation import Translator\n    \u003e\u003e\u003e translator = Translator()\n    \u003e\u003e\u003e t = (translator.translate([\"Good ' Morning\", \"India\"], dest=\"ta\"))\n    \u003e\u003e\u003e for _t in t:\n    \u003e\u003e\u003e     print(_t.text)\n    # காலை வணக்கம்\n    # இந்தியா\n    \n\nLanguage detection\n~~~~~~~~~~~~~~~~~~\n\nThe detect method, as its name implies, identifies the language used in\na given sentence.\n\n.. code:: python\n\n    \u003e\u003e\u003e from pygoogletranslation import Translator\n    \u003e\u003e\u003e translator = Translator()\n    \u003e\u003e\u003e translator.detect('காலை வணக்கம்,')\n    # \u003cDetected lang=ta confidence=0.72041003\u003e\n    \u003e\u003e\u003e translator.detect('この文章は日本語で書かれました。')\n    # \u003cDetected lang=ja confidence=0.64889508\u003e\n    \u003e\u003e\u003e translator.detect('This sentence is written in English.')\n    # \u003cDetected lang=en confidence=0.22348526\u003e\n    \u003e\u003e\u003e translator.detect('Tiu frazo estas skribita en Esperanto.')\n    # \u003cDetected lang=eo confidence=0.10538048\u003e\n    \nTranslation from document (.doc, .docx, .pdf, .txt):\n---------------------------------------------\n    \u003e\u003e\u003e from pygoogletranslation import Translator\n    \u003e\u003e\u003e translator = Translator()\n    \u003e\u003e\u003e translator.bulktranslate('test.txt', dest=\"ta\")\n    # \u003cbulk translated text\u003e\n    # for bulk translation, sometimes you might get an error with response\n    # code \"429\" - Too Many attempts.\n    # To overcome this error, add below parameter.\n    \u003e\u003e\u003e translator = Translator(retry=NO_OF_ATTEMPTS, sleep=WAIT_SECONDS, retry_message=TRUE)\n    \u003e\u003e\u003e translator.bulktranslate('test.txt', dest=\"ta\")\n    # retry - no of attemps (default- 3 times)\n    # sleep - no of attempts after seconds (default- 5 seconds)\n    # retry_message - True - display retrying message (default- False)\n\n\npygoogletranslation to get Language and Language Codes\n-------------------------------------------------------\n               \u003e\u003e\u003e from pygoogletranslation import Translator\n               \u003e\u003e\u003e translator = Translator()\n               \u003e\u003e\u003e translator.glanguage()\n               \u003e\u003e\u003e {\n                  \"sl\": {\n                  \"auto\": \"Detect language\",\n                  \"af\": \"Afrikaans\",\n                  \"sq\": \"Albanian\",\n                  \"am\": \"Amharic\",\n                  \"ar\": \"Arabic\",\n                  \"hy\": \"Armenian\",\n                  \"az\": \"Azerbaijani\",\n                  \"eu\": \"Basque\",\n                  \"be\": \"Belarusian\",\n                  \"bn\": \"Bengali\",\n                  \"bs\": \"Bosnian\",\n                  \"bg\": \"Bulgarian\",\n                  \"ca\": \"Catalan\",\n                  \"ceb\": \"Cebuano\",\n                  \"ny\": \"Chichewa\",\n                  \"zh-CN\": \"Chinese\",\n                  \"co\": \"Corsican\",\n                  \"hr\": \"Croatian\",\n                  \"cs\": \"Czech\",\n                  \"da\": \"Danish\",\n                  \"nl\": \"Dutch\",\n                  \"en\": \"English\",\n                  \"eo\": \"Esperanto\",\n                  \"et\": \"Estonian\",\n                  \"tl\": \"Filipino\",\n                  \"fi\": \"Finnish\",\n                  \"fr\": \"French\",\n                  \"fy\": \"Frisian\",\n                  \"gl\": \"Galician\",\n                  \"ka\": \"Georgian\",\n                  \"de\": \"German\",\n                  \"el\": \"Greek\",\n                  \"gu\": \"Gujarati\",\n                  \"ht\": \"Haitian Creole\",\n                  \"ha\": \"Hausa\",\n                  \"haw\": \"Hawaiian\",\n                  \"iw\": \"Hebrew\",\n                  \"hi\": \"Hindi\",\n                  \"hmn\": \"Hmong\",\n                  \"hu\": \"Hungarian\",\n                  \"is\": \"Icelandic\",\n                  \"ig\": \"Igbo\",\n                  \"id\": \"Indonesian\",\n                  \"ga\": \"Irish\",\n                  \"it\": \"Italian\",\n                  \"ja\": \"Japanese\",\n                  \"jw\": \"Javanese\",\n                  \"kn\": \"Kannada\",\n                  \"kk\": \"Kazakh\",\n                  \"km\": \"Khmer\",\n                  \"rw\": \"Kinyarwanda\",\n                  \"ko\": \"Korean\",\n                  \"ku\": \"Kurdish (Kurmanji)\",\n                  \"ky\": \"Kyrgyz\",\n                  \"lo\": \"Lao\",\n                  \"la\": \"Latin\",\n                  \"lv\": \"Latvian\",\n                  \"lt\": \"Lithuanian\",\n                  \"lb\": \"Luxembourgish\",\n                  \"mk\": \"Macedonian\",\n                  \"mg\": \"Malagasy\",\n                  \"ms\": \"Malay\",\n                  \"ml\": \"Malayalam\",\n                  \"mt\": \"Maltese\",\n                  \"mi\": \"Maori\",\n                  \"mr\": \"Marathi\",\n                  \"mn\": \"Mongolian\",\n                  \"my\": \"Myanmar (Burmese)\",\n                  \"ne\": \"Nepali\",\n                  \"no\": \"Norwegian\",\n                  \"or\": \"Odia (Oriya)\",\n                  \"ps\": \"Pashto\",\n                  \"fa\": \"Persian\",\n                  \"pl\": \"Polish\",\n                  \"pt\": \"Portuguese\",\n                  \"pa\": \"Punjabi\",\n                  \"ro\": \"Romanian\",\n                  \"ru\": \"Russian\",\n                  \"sm\": \"Samoan\",\n                  \"gd\": \"Scots Gaelic\",\n                  \"sr\": \"Serbian\",\n                  \"st\": \"Sesotho\",\n                  \"sn\": \"Shona\",\n                  \"sd\": \"Sindhi\",\n                  \"si\": \"Sinhala\",\n                  \"sk\": \"Slovak\",\n                  \"sl\": \"Slovenian\",\n                  \"so\": \"Somali\",\n                  \"es\": \"Spanish\",\n                  \"su\": \"Sundanese\",\n                  \"sw\": \"Swahili\",\n                  \"sv\": \"Swedish\",\n                  \"tg\": \"Tajik\",\n                  \"ta\": \"Tamil\",\n                  \"tt\": \"Tatar\",\n                  \"te\": \"Telugu\",\n                  \"th\": \"Thai\",\n                  \"tr\": \"Turkish\",\n                  \"tk\": \"Turkmen\",\n                  \"uk\": \"Ukrainian\",\n                  \"ur\": \"Urdu\",\n                  \"ug\": \"Uyghur\",\n                  \"uz\": \"Uzbek\",\n                  \"vi\": \"Vietnamese\",\n                  \"cy\": \"Welsh\",\n                  \"xh\": \"Xhosa\",\n                  \"yi\": \"Yiddish\",\n                  \"yo\": \"Yoruba\",\n                  \"zu\": \"Zulu\"\n                  },\n                  \"tl\": {\n                  \"af\": \"Afrikaans\",\n                  \"sq\": \"Albanian\",\n                  \"am\": \"Amharic\",\n                  \"ar\": \"Arabic\",\n                  \"hy\": \"Armenian\",\n                  \"az\": \"Azerbaijani\",\n                  \"eu\": \"Basque\",\n                  \"be\": \"Belarusian\",\n                  \"bn\": \"Bengali\",\n                  \"bs\": \"Bosnian\",\n                  \"bg\": \"Bulgarian\",\n                  \"ca\": \"Catalan\",\n                  \"ceb\": \"Cebuano\",\n                  \"ny\": \"Chichewa\",\n                  \"zh-CN\": \"Chinese (Simplified)\",\n                  \"zh-TW\": \"Chinese (Traditional)\",\n                  \"co\": \"Corsican\",\n                  \"hr\": \"Croatian\",\n                  \"cs\": \"Czech\",\n                  \"da\": \"Danish\",\n                  \"nl\": \"Dutch\",\n                  \"en\": \"English\",\n                  \"eo\": \"Esperanto\",\n                  \"et\": \"Estonian\",\n                  \"tl\": \"Filipino\",\n                  \"fi\": \"Finnish\",\n                  \"fr\": \"French\",\n                  \"fy\": \"Frisian\",\n                  \"gl\": \"Galician\",\n                  \"ka\": \"Georgian\",\n                  \"de\": \"German\",\n                  \"el\": \"Greek\",\n                  \"gu\": \"Gujarati\",\n                  \"ht\": \"Haitian Creole\",\n                  \"ha\": \"Hausa\",\n                  \"haw\": \"Hawaiian\",\n                  \"iw\": \"Hebrew\",\n                  \"hi\": \"Hindi\",\n                  \"hmn\": \"Hmong\",\n                  \"hu\": \"Hungarian\",\n                  \"is\": \"Icelandic\",\n                  \"ig\": \"Igbo\",\n                  \"id\": \"Indonesian\",\n                  \"ga\": \"Irish\",\n                  \"it\": \"Italian\",\n                  \"ja\": \"Japanese\",\n                  \"jw\": \"Javanese\",\n                  \"kn\": \"Kannada\",\n                  \"kk\": \"Kazakh\",\n                  \"km\": \"Khmer\",\n                  \"rw\": \"Kinyarwanda\",\n                  \"ko\": \"Korean\",\n                  \"ku\": \"Kurdish (Kurmanji)\",\n                  \"ky\": \"Kyrgyz\",\n                  \"lo\": \"Lao\",\n                  \"la\": \"Latin\",\n                  \"lv\": \"Latvian\",\n                  \"lt\": \"Lithuanian\",\n                  \"lb\": \"Luxembourgish\",\n                  \"mk\": \"Macedonian\",\n                  \"mg\": \"Malagasy\",\n                  \"ms\": \"Malay\",\n                  \"ml\": \"Malayalam\",\n                  \"mt\": \"Maltese\",\n                  \"mi\": \"Maori\",\n                  \"mr\": \"Marathi\",\n                  \"mn\": \"Mongolian\",\n                  \"my\": \"Myanmar (Burmese)\",\n                  \"ne\": \"Nepali\",\n                  \"no\": \"Norwegian\",\n                  \"or\": \"Odia (Oriya)\",\n                  \"ps\": \"Pashto\",\n                  \"fa\": \"Persian\",\n                  \"pl\": \"Polish\",\n                  \"pt\": \"Portuguese\",\n                  \"pa\": \"Punjabi\",\n                  \"ro\": \"Romanian\",\n                  \"ru\": \"Russian\",\n                  \"sm\": \"Samoan\",\n                  \"gd\": \"Scots Gaelic\",\n                  \"sr\": \"Serbian\",\n                  \"st\": \"Sesotho\",\n                  \"sn\": \"Shona\",\n                  \"sd\": \"Sindhi\",\n                  \"si\": \"Sinhala\",\n                  \"sk\": \"Slovak\",\n                  \"sl\": \"Slovenian\",\n                  \"so\": \"Somali\",\n                  \"es\": \"Spanish\",\n                  \"su\": \"Sundanese\",\n                  \"sw\": \"Swahili\",\n                  \"sv\": \"Swedish\",\n                  \"tg\": \"Tajik\",\n                  \"ta\": \"Tamil\",\n                  \"tt\": \"Tatar\",\n                  \"te\": \"Telugu\",\n                  \"th\": \"Thai\",\n                  \"tr\": \"Turkish\",\n                  \"tk\": \"Turkmen\",\n                  \"uk\": \"Ukrainian\",\n                  \"ur\": \"Urdu\",\n                  \"ug\": \"Uyghur\",\n                  \"uz\": \"Uzbek\",\n                  \"vi\": \"Vietnamese\",\n                  \"cy\": \"Welsh\",\n                  \"xh\": \"Xhosa\",\n                  \"yi\": \"Yiddish\",\n                  \"yo\": \"Yoruba\",\n                  \"zu\": \"Zulu\"\n                  },\n                  \"al\": {}\n                  }\n\n--------------\n\nNote on library usage\n---------------------\n\nDISCLAIMER: this is an unofficial library using the web API of translate.google.com\nand also is not associated with Google.\n\n-  \n\n-  Due to limitations of the web version of google translate, this API\n   does not guarantee that the library would work properly at all times\n   (so please use this library if you don't care about stability).\n\n-  **Important:** If you want to use a stable API, I highly recommend you to use\n   `Google's official translate\n   API \u003chttps://cloud.google.com/translate/docs\u003e`__.\n\n-  If you get HTTP 5xx error or errors like #6, it's probably because\n   Google has banned your client IP address.\n\n--------------\n\nVersioning\n----------\n\nThis library follows `Semantic Versioning \u003chttp://semver.org/\u003e`__ from\nv2.0.0. Any release versioned 0.x.y is subject to backwards incompatible\nchanges at any time.\n\nContributing\n-------------------------\n\nContributions are more than welcomed. See\n`CONTRIBUTING.md \u003cCONTRIBUTING.md\u003e`__\n\n-----------------------------------------\n\nLicense\n-------\n\npygoogletranslation is licensed under the MIT License. The terms are as\nfollows:\n\n::\nMIT License\n\nCopyright (c) 2021 Saravananslb\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n.. |GitHub license| image:: https://img.shields.io/github/license/mashape/apistatus.svg\n   :target: http://opensource.org/licenses/MIT\n.. |travis status| image:: https://travis-ci.org/ssut/py-googletrans.svg?branch=master\n   :target: https://travis-ci.org/Saravananslb/py-googletranslation\n.. |Documentation Status| image:: https://readthedocs.org/projects/py-googletrans/badge/?version=latest\n  \n.. |PyPI version| image:: https://badge.fury.io/py/pygoogletranslation.svg\n   :target: http://badge.fury.io/py/pygoogletranslation\n.. |Coverage Status| image:: https://coveralls.io/repos/github/ssut/py-googletrans/badge.svg\n   \n.. |Code Climate| image:: https://codeclimate.com/github/ssut/py-googletrans/badges/gpa.svg\n   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSaravananslb%2Fpy-googletranslation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSaravananslb%2Fpy-googletranslation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSaravananslb%2Fpy-googletranslation/lists"}