简体   繁体   中英

AttributeError error using googletrans python package for farsi language

I am trying to use googletrans to translate from English to Farsi. But it gives me this error

Here is my code:

from googletrans import Translator
translator = Translator()
result = translator.translate('This is an egg', dest='fa')

And I get the following error:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
C:\Temp\ipykernel_23736\2714753431.py in <module>
----> 1 result = translator.translate('This is an egg', dest='fa')

c:\programs\python\python37\lib\site-packages\googletrans\client.py in translate(self, text, dest, src, **kwargs)
    180 
    181         origin = text
--> 182         data = self._translate(text, dest, src, kwargs)
    183 
    184         # this code will be updated when the format is changed.

c:\programs\python\python37\lib\site-packages\googletrans\client.py in _translate(self, text, dest, src, override)
     76 
     77     def _translate(self, text, dest, src, override):
---> 78         token = self.token_acquirer.do(text)
     79         params = utils.build_params(query=text, src=src, dest=dest,
     80                                     token=token, override=override)

c:\programs\python\python37\lib\site-packages\googletrans\gtoken.py in do(self, text)
    192 
    193     def do(self, text):
--> 194         self._update()
    195         tk = self.acquire(text)
    196         return tk

c:\programs\python\python37\lib\site-packages\googletrans\gtoken.py in _update(self)
     60 
     61         # this will be the same as python code after stripping out a reserved word 'var'
---> 62         code = self.RE_TKK.search(r.text).group(1).replace('var ', '')
     63         # unescape special ascii characters such like a \x3d(=)
     64         code = code.encode().decode('unicode-escape')

AttributeError: 'NoneType' object has no attribute 'group'

I know it must be an 'unicode' related issue, but I don't know how to fix it.

Try with the following version:

pip install googletrans==4.0.0-rc1

I've installed it and your example works just fine:

from googletrans import Translator
translator = Translator()
result = translator.translate('This is an egg', dest='fa')
print(result.text)

# این یک تخم مرغ است

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM