GoogleTrans Python无法翻译

时间:2020-07-24 15:53:08

标签: python google-translate

我正在为我的项目使用GoogleTrans。实际上,我在Marathi中有一个文本是从“语音转换为文本”获得的,但是当我将该文本转换为英语时,并不能正确翻译。

但是当我从网站上使用Google翻译时,它以100%的准确度正确翻译了吗?

Image

这是一段代码:

import speech_recognition as sr
from cltk.corpus.utils.importer import CorpusImporter
from googletrans import Translator
import goslate
import googletrans

print("Hello World")

filename = r"C:\Users\TOSHIBA\Documents\Mini Project-2 (Trimester 4)\Project 1- (Document Summary)\Dataset\Voice\Gaurav.wav"
r = sr.Recognizer()

with sr.AudioFile(filename) as source:
    audio_data = r.record(source)

    text = r.recognize_google(audio_data,language='mr')
    print("Text\n",text)

    print(type(text))
    
    translator = Translator()
    converted_text = translator.translate(text)
    print("Converted text\n",converted_text)

    with open("D:/output.txt",'w',encoding="utf-8") as f:
        f.write(text)
        f.write(str(converted_text))

请提出建议,我该怎么办?

1 个答案:

答案 0 :(得分:1)

https://pypi.org/project/googletrans是非官方软件包(不是Google创建的)。同样在免责声明中,它具有以下内容:“ ...此API不能保证该库在任何时候都能正常工作... ”。如果需要稳定性,请使用官方的Google API https://cloud.google.com/translate/docs

无论如何,以下是一项测试,以显示翻译员的工作

from googletrans import Translator

translator = Translator()
results =translator.translate('हॅलो वर्ल्ड')
print(results.text)

输出:

Hello World

我不确定您遇到的问题。但是,我建议将代码重构为方法,然后可以进行单独测试。

下面的代码尚未经过 测试,但应有助于调试:

import speech_recognition as sr
#from cltk.corpus.utils.importer import CorpusImporter
from googletrans import Translator
#import goslate
#import googletrans

def provideAudioToText(filename):
    r = sr.Recognizer()
    with sr.AudioFile(filename) as source:
    audio_data = r.record(source)
    return r.recognize_google(audio_data,language='mr')

def translate(text):
    translator = Translator()
    results = translator.translate(text)
    return results.text

def Save(filename, original_text, converted_text):
    with open(filename,'w',encoding="utf-8") as f:
        f.write(original_text)
        f.write(str(converted_text))

original_text = provideAudioToText(r"C:\Users\TOSHIBA\Documents\Mini Project-2 (Trimester 4)\Project 1- (Document Summary)\Dataset\Voice\Gaurav.wav")
print("Text\n", original_text)
print(type(original_text))
converted_text = translate(original_text)
print("Converted text\n",converted_text)
Save("D:/output.txt", original_text, converted_text)