我正在尝试将大量文本文件从英语翻译成其他几种语言。我们的项目中使用Python,我们尝试使用Google翻译服务先进行翻译,然后再手动更正错误。
我想到了两种翻译方式:
使用Python Google翻译API。这里是:goslate 1.1.2: Python Package
尝试使用Google翻译页面进行编程,即提供要翻译的文本,模拟HTTP请求并处理响应。Google Translation
有没有更好的建议?
我正在尝试将大量文本文件从英语翻译成其他几种语言。我们的项目中使用Python,我们尝试使用Google翻译服务先进行翻译,然后再手动更正错误。
我想到了两种翻译方式:
使用Python Google翻译API。这里是:goslate 1.1.2: Python Package
尝试使用Google翻译页面进行编程,即提供要翻译的文本,模拟HTTP请求并处理响应。Google Translation
有没有更好的建议?
我为Python写了自己的谷歌翻译功能;)请尝试https://github.com/mouuff/Google-Translate-API
谷歌实际上拥有一个带有REST接口的官方翻译API。您可以在这里查看。请注意,这是一个付费API,没有免费配额。
googletrans
模块。例如:from googletrans import Translator
translator = Translator() # initalize the Translator object
translations = translator.translate(['see if this helps', 'tarun'], dest='hi') # translate two phrases to Hindi
for translation in translations: # print every translation
print(translation.text)
# Output:
# देखें कि इस मदद करता है
# तरुण
支持的语言字典(106种)及其ISO639-1代码:
import googletrans
print(googletrans.LANGCODES) # {language name: iso639-1 language code}
# or
print(googletrans.LANGUAGES) # {iso639-1 language code: language name}
请查看文档以获取更多信息。
googletrans
有时候不起作用。我不确定它是否适合批量翻译。这个问题甚至在网站上都有提到。https://pypi.org/project/googletrans/ 谢谢 & 最好的祝福 - Alain Michael Janith Schroter其中最简单的方法是使用Selenium获取单词和短语的翻译。
下面是一段代码,它获取英文单词并返回波斯语(Farsi)翻译。所有内容都在Github上的readme文件中有解释:
def translate_text(target, text):
"""Translates text into the target language.
Target must be an ISO 639-1 language code.
See https://g.co/cloud/translate/v2/translate-reference#supported_languages
"""
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "secret.json"
translate_client = translate.Client()
if isinstance(text, six.binary_type):
text = text.decode("utf-8")
# Text can also be a sequence of strings, in which case this method
# will return a sequence of results for each text.
result = translate_client.translate(text, target_language=target)
return result["translatedText"]
查看使用Google API进行翻译的完整代码:
https://neculaifantanaru.com/en/example-google-translate-api-key-python-code-beautifulsoup.html
使用这个代码,它使用免费的Google翻译模块。
通过这个代码,你可以将任何语言转换成任何语言,并且还可以获得其发音。
from googletrans import Translator, LANGUAGES
from googletrans.models import Translated
lang = list(LANGUAGES.values())
print("Welcome to Py_Guy Translate")
input_text = input("Please Enter Your Text in english:\n")
out_lang = input("Please enter output language name (ex.-hindi,gujarati,japanese:\n
").lower()
if out_lang not in lang:
print("Sorry This Language is not available to translate")
else:
translator = Translator()
translated = translator.translate(text=input_text, src="english",dest=out_lang)
translated = str(translated).split(", ")
converted = translated[2]
pro = translated[3]
print(converted)
print(pro)