lushan88a / google_trans_new

A free and unlimited python API for google translate.
MIT License
394 stars 171 forks source link

TypeError: replace() takes at least 2 arguments (1 given) #10

Open dangmanhtruong1995 opened 3 years ago

dangmanhtruong1995 commented 3 years ago

Hi, I tried the library but got this error:

Traceback (most recent call last): File "translate_to_english.py", line 128, in main() File "translate_to_english.py", line 114, in main result = translator.translate(str) File "translate_to_english.py", line 44, in translate translate_text = translator.translate(str, lang_src='sq', lang_tgt='en') File "C:\Users\Win10\Anaconda3\lib\site-packages\google_trans_new\google_trans_new.py", line 117, in translate text = str(text.replace('\n',"").replace('\t','').replace('\\"','')) TypeError: replace() takes at least 2 arguments (1 given)

My code is this:

> import google_trans_new 
> class TranslatorWrapper():
>     def __init__(self):
>         # self.translator = googletrans.Translator()
>         self.translator = google_trans_new.google_translator()      
>    
>     def translate(self, text):
>         translator = self.translator
>         # translated = translator.translate(str, src='sq', dest='en')        
>         # return translated.text
>         translate_text = translator.translate(str, lang_src='sq', lang_tgt='en')
>         return translate_text
> translator = TranslatorWrapper()
> ....
> result = translator.translate(str)

I created the wrapper class because I changed the code from googletrans to this library. Please help me, thank you very much.

lushan88a commented 3 years ago

I can't see any error in your post code :( I try to use your code and don't have any error.

from google_trans_new import google_trans_new

import google_trans_new 
class TranslatorWrapper():
    def __init__(self):
        self.translator = google_trans_new.google_translator()      

    def translate(self, text):
        translator = self.translator
        translate_text = translator.translate(text, lang_src='sq', lang_tgt='en')
        return translate_text
translator = TranslatorWrapper()
str = "Moti është kaq i mirë sot"
result = translator.translate(str)
print(result)
->The weather is so good today 

Maybe your " translate_text = translator.translate(str, lang_src='sq', lang_tgt='en') " should be " translate_text = translator.translate(text, lang_src='sq', lang_tgt='en') " If you still have errors, please post your complete code!