用Python将日语翻译成英语

用Python将日语翻译成英语,python,localization,language-translation,Python,Localization,Language Translation,我正在使用Python编写一些集成两个系统的脚本。系统扫描邮箱并搜索特定主题行,然后解析电子邮件中的信息。我正在寻找的元素之一是一个HTML链接,然后使用Curl将HTML代码以文本格式写入文本文件 我的问题是,如果电子邮件中的文本是日语,Python中是否有任何模块可以自动将该文本转换为英语?或者我需要将字符串转换为Unicode,然后对其进行解码 这是我所看到的一个例子。当我使用curl从URL获取文本时: USB主机堆栈処理において解放されたメモリを不正に使用している 当我执行简单的re

我正在使用Python编写一些集成两个系统的脚本。系统扫描邮箱并搜索特定主题行,然后解析电子邮件中的信息。我正在寻找的元素之一是一个HTML链接,然后使用Curl将HTML代码以文本格式写入文本文件

我的问题是,如果电子邮件中的文本是日语,Python中是否有任何模块可以自动将该文本转换为英语?或者我需要将字符串转换为Unicode,然后对其进行解码

这是我所看到的一个例子。当我使用curl从URL获取文本时:

USB主机堆栈処理において解放されたメモリを不正に使用している
当我执行简单的re.match以获取字符串并将其写入文件时,请执行以下操作:

USB主机栈æQtk0J0D0f0ã>eU0Œ0á0–0ê0'nckko(uW0f0D0è0
当我使用电子邮件模块抓取电子邮件时,我也会得到以下信息

>emailMessage.get_payload()
USB主机堆栈=E5=87=A6=E7=90=86=E3=81=AB=E3=81=8A=E3=81=84=E3=81=A6=E8=A7=
=A3=E6=94=BE=E3=81=95=E3=82=8C=E3=81=9F=E3=83=A1=E3=83=A2=E3=83=AA=E3=82=92=
=E4=B8=8D=E6=AD=A3=E3=81=AB=E4=BD=BF=E7=94=A8=E3=81=97=E3=81=A6=E3=81=84=E3=
=82=8B

所以,我想我真正的问题是,我必须采取什么步骤才能正确地将其转换为英语。我真的很想使用第一个日语字符并将其转换为英语。

自然语言翻译是一个非常具有挑战性的问题,正如其他人所说。因此,请考虑将字符串发送到服务,e、 谷歌翻译,它会帮你翻译(虽然不好,但总比没有好),然后把它们寄回去

以下SO链接显示了一种方式:


在你开始工作之前,你应该解决你的编码问题(unicode,uuencoding等)因此,您在读写文本时不会损坏文本。

您使用的是Python 2.x还是Python 3.x?如果您使用的是Python 2.x…您是否阅读过有关内容?如何转换为英语?如何拼写或翻译?字符串已经是Unicode。您可以直接处理日语。无需“转换”必选。如果你想把日语翻译成英语,你需要非常非常复杂的软件。你是问NLTK?还是问Google translate?朱利奥,我目前正在使用python 2.x,但如果需要,我可以升级到3.x。我对unicode知之甚少,但我确实理解它。塞尔吉奥,我希望我能理解d你的问题。我想把字符串翻译成英文。谢谢。另一部分是系统是完全自动化的,所以谷歌部分很难自动化。请注意,谷歌翻译api v1最近被弃用,v2是付费服务,因此网络上的许多示例将不再有效。期待很多“可疑的服务条款滥用”错误。另一方面…简单的问题,因为我们在这个主题上。为什么readline()没有请准确地告诉我我正在阅读的txt文件中存在的内容?正如您从我的第一个示例I do.DSM中看到的那样,您是正确的。这些是我在阅读文章后收到的错误。有人知道其他方法吗?如果我只想准确地打印存在的内容呢?如果readlines()函数读取日语打印日语?正如您从我的第一个示例中看到的,我用日语阅读,但当我打印行并写入()时它指向一个不匹配的文件。我猜这是UTF-8或其他类型。有许多可能的字符编码。HTML文件包含一个标题,告诉浏览器正在使用什么编码。当您使用readline()提取文本时,python不会查看标头并应用默认编码。请检查标头以获取所需的编码,然后阅读模块编解码器,以获取要传递给编解码器的正确编码。open()