Installation. To install, either use things like pip with the package “googletrans” or download the package and put the “googletrans” directory into your python path.
Using Simple Python Again in the Command Prompt just type pip and if it throws no error then pip is already there within the system. Now just type pip install googletrans . Once done then open your Jupyter notebook or any other text editor and import it using from googletrans import Translator .
You can also translate text documents via Google Translate API. All you have to do is to read the text file in Python using the open method, read the text and pass it to the translate() method.
Install the alpha version like this:
pip install googletrans==3.1.0a0
Translation example:
translator = Translator()
translation = translator.translate("Der Himmel ist blau und ich mag Bananen", dest='en')
print(translation.text)
#output: 'The sky is blue and I like bananas'
In case it does not work, try to specify the service url like this:
from googletrans import Translator
translator = Translator(service_urls=['translate.googleapis.com'])
translator.translate("Der Himmel ist blau und ich mag Bananen", dest='en')
See the discussion here for details and updates: https://github.com/ssut/py-googletrans/pull/237
As pointed out by @DesiKeki and @Ahmed Breem, there is another fix which seems to work for several people:
pip install googletrans==4.0.0-rc1
Github discussion here: https://github.com/ssut/py-googletrans/issues/234#issuecomment-742460612
If the above doesn't work for you, google_trans_new
seems to be a good alternative that works for some people. It's unclear why the fix above works for some and doesn't for others. See details on installation and usage here: https://github.com/lushan88a/google_trans_new
#pip install google_trans_new
from google_trans_new import google_translator
translator = google_translator()
translate_text = translator.translate('สวัสดีจีน',lang_tgt='en')
print(translate_text)
#output: Hello china
Update 01/12/2020: This issue re-emerged lately, (apparently) caused once again by some changes on the Google translation API.
A solution is being discussed (again) in this Github issue. Although there is not a definitive solution yet a Pull Request seem to be solving the problem: https://github.com/ssut/py-googletrans/pull/237.
While we wait for it to be approved it can be installed like this:
$ pip uninstall googletrans
$ git clone https://github.com/alainrouillon/py-googletrans.git
$ cd ./py-googletrans
$ git checkout origin/feature/enhance-use-of-direct-api
$ python setup.py install
Original Answer:
Apparently it's a recent and widespread problem on Google's side. Quoting various Github discussions, it happens when Google sends you directly the raw token.
It's being discussed right now and there is already a pull request to fix it, so it should be resolved in the next few days.
For reference, see:
https://github.com/ssut/py-googletrans/issues/48 <-- exact same problem reported on the Github repo https://github.com/pndurette/gTTS/issues/60 <-- seemingly same problem on a text-to-speech library https://github.com/ssut/py-googletrans/pull/78 <-- pull request to fix the issue
To apply this patch (without waiting for the pull request to be accepted) simply install the library from the forked repo https://github.com/BoseCorp/py-googletrans.git (uninstall the official library first):
$ pip uninstall googletrans
$ git clone https://github.com/BoseCorp/py-googletrans.git
$ cd ./py-googletrans
$ python setup.py install
You can clone it anywhere on your system and install it globally or while inside a virtualenv
.
Try google_trans_new. It solved the problem for me https://github.com/lushan88a/google_trans_new
pip install google_trans_new
from google_trans_new import google_translator
translator = google_translator()
translate_text = translator.translate('Hola mundo!', lang_src='es', lang_tgt='en')
print(translate_text)
-> Hello world!
Update 10.12.20: New Alpha Version Release (Stable Release Candidate) is released: 4.0.0-rc1
It can be installed as follows:
pip install googletrans==4.0.0-rc1
Usage:
translation = translator.translate('이 문장은 한글로 쓰여졌습니다.', dest='en')
print(translation.text)
>>This sentence is written in Korean.
detected_lang = translator.detect('mein english me hindi likh raha hoon')
print(detected_lang)
>>Detected(lang=hi, confidence=None)
detected_lang = translator.detect('이 문장은 한글로 쓰여졌습니다.')
print(detected_lang)
>>Detected(lang=ko, confidence=None)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With