如何使用谷歌或微软翻译api与python翻译文本文件?

时间:2012-02-18 00:43:13

标签: python text translation

我想自动预翻译我硬盘上的一堆文本文件。有没有办法用python做到这一点。我已经获得了谷歌翻译api密钥,我想使用它。 我的文件包含一些XML代码,但是,我首先想让翻译器使用一些纯文本文件。 一个文本文件可能如下所示:

Hello, my name is Stefan. I live in Germany and my hobbies are tennis, walking and reading.

我现在的问题是如何阅读文本文件并自动将其从英语翻译成德语。

我在网上浏览了很长一段时间,但我找不到解决问题的方法。

非常感谢任何直接帮助或与其他帖子/网站的链接。

4 个答案:

答案 0 :(得分:0)

点击此处开始将google翻译添加到您的网页。 http://translate.google.com/translate_tools

答案 1 :(得分:0)

Google Translate API现在只是付费服务,可能是因为很多人通过它来控制大量数据。实际上它是一个RESTful API,这意味着您使用标准的url和json工具在HTTP中生成查询,然后将其作为GET传递给API,然后您将收到带有翻译的json对象。实际上,您可以阅读源文件,将其汇总到查询中,将yout查询的HTTP GET发送给Google,然后解析并使用响应。

答案 2 :(得分:0)

感谢您的快速和有帮助的回复。现在,我最终将我的文本文件---实际上是一个XML文件 - 上传到我的网站,并包括谷歌翻译API(http://translate.google.com/translate_tools),以便将英语翻译成德语。这种作品,虽然我想逃避一些标记标记。所以,没有python,不需要真正的编程。该服务是一项付费服务​​,每1 M字符的费用为20美元。

答案 3 :(得分:0)

如果你想查看Perl而不是Python的a parse question I answered,这是解析HTML以在将字符串发送到Bing转换器之前提取字符串的程序的一部分。您可能需要通过a Python parsing library来执行类似的操作。

然后在字符串上调用翻译服务:

   # minor adjustment for simplified chinese....
    my $call_language = $language;
    $call_language =~ s/zh/zh-CHS/;

    # microsoft application id for translator....
    my $appId = 'blablabla';
    my $url =
"http://api.microsofttranslator.com/v2/Http.svc/Translate?appId=$appId&text=$text&from=en&to=$call_language";

    ###my $url = "https://www.googleapis.com/language/translate/v2?key=<my-key>&q=$text%20world&source=en&target=$language" ;
    # Create a request
    my $req = HTTP::Request->new( GET => $url );

    # Pass request to the user agent and get a response back
    my $res = $ua->request($req);

    #sleep 2 ;
    # Check the outcome of the response
    if ( $res->is_success ) {
        $content = $res->content;

再说那是Perl但是它给了你这个想法,我希望......