1

用 Python 编写程序以将英语单词和/或短语翻译成其他语言的最佳方法是什么?

4

6 回答 6

2

AJAX Language API

这是一个非常困难的问题——语言非常非常非常复杂。想想你必须做的所有事情——解析短语,找出单词的意思,翻译它们。这可能不是惯用的,因此您需要针对不同语法的特殊情况。很多很多特殊情况。如果外语与英语不同,你需要弄清楚它的语法——例如,“the big green ball”在西班牙语中变成了“the ball big green”。

不要重新发明轮子。谷歌为他们的翻译服务提供了一个 API,这无疑让许多聪明的人对此深思熟虑。

于 2010-10-05T21:33:17.577 回答
1

最简单的方法是制作一个字典,将一种语言的单词与另一种语言的单词匹配。但是,这非常愚蠢,根本不会考虑语法,而且创建翻译器实际上需要很长时间,特别是如果您打算将其用于多种语言时。如果语法对您来说并不重要(例如,如果您正在为游戏或故事创建自己的语言,而语法与英语没有不同),那么您可以使用字典并简单地使用函数查找请求在字典中匹配

于 2010-10-06T01:45:00.703 回答
1

我认为您应该查看 Google Translate API。是一个专门为此目的在python中实现的库。

于 2010-10-05T21:32:26.627 回答
0
 # Please install Microsoft translate using >> pip install translate

 from translate import Translator

 class clsTranslate():

     def translateText(self, strString, strTolang):
         self.strString = strString
         self.strTolang = strTolang
         translator = Translator(to_lang=self.strTolang)
         translation = translator.translate(self.strString)
         return (str(translation))

 # Create a Class object and call the Translate function
 # Pass the language as a parameter to the function, de: German zh: Chinese etc

objTrans=clsTranslate() 

strTranslatedText= objTrans.translateText('Howare you', 'de')

print(strTranslatedText)
于 2019-05-07T11:23:09.247 回答
0

您可以使用 Goslate 包,因为它非常易于使用的示例

import goslate
print(goslate.Goslate().translate('hello world', 'ar'))

现在第一个参数是您要翻译的文本,第二个参数是您要翻译的语言。

我希望你会找到有用的答案

于 2017-03-08T07:29:53.057 回答
0

如果您使用深度翻译器,这非常容易!这是源代码(确保安装深度翻译模块):

from deep_translator import GoogleTranslator
import time
def start():
      while True:
                 def translate():
        line_to_translate = input('Which line/phrase/word you want to translate?\n')
        to_lang = input('In which language you want to translate it?\n')
        to_lang = to_lang.lower()
        translation = GoogleTranslator(source='auto', target=to_lang).translate(text=line_to_translate)
        return translation

        time.sleep(1 sec)
        esc = (input("Enter 'q' to exit and 'r' to restart.\n"))
    while True:
        if esc.lower() in {'q', 'r'}:
            break
        else:
            print('Please enter a valid Option!!')
            time.sleep(1)
            esc = (input("Enter 'q' to exit and 'r' to restart.\n"))
    if esc.lower() == 'q':
        return
    elif esc.lower() == 'r':
        pass


start()
于 2021-10-22T14:31:41.077 回答