2012-02-18 62 views
1

我想自動預翻譯我硬盤上的一堆文本文件。有沒有辦法用python來做到這一點。我已經有谷歌翻譯API密鑰,我想用這個。 我有的文件包含了一些XML代碼,但是,我首先想讓翻譯者使用一些純文本文件。 一個文本文件可能是這樣的:如何使用谷歌或微軟翻譯API與Python來翻譯文本文件?

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

我現在的問題是如何在文本文件中讀取並自動將其從英語翻譯成德語。

我在網上瀏覽了很長一段時間,但找不到解決問題的方法。

任何直接幫助或鏈接到另一個職位/網站非常感謝。

+0

你看着谷歌翻譯API? – Daenyth 2012-02-18 00:47:19

回答

0

如果你想看看a parse question I answered這是Perl而不是Python,這是一個程序的一部分,它解析HTML以提取字符串,然後將它們發送到Bing翻譯器。您需要通過a Python parsing library來使用XML來做類似的事情。

然後調用的字符串翻譯服務:

# 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的,但它給你的想法,我希望......

0

Google Translate API現在只是付費服務,可能是因爲很多人都在通過它處理大量數據。實際上,它是一個RESTful API,這意味着您使用標準的url和json工具在HTTP中生成查詢,然後將其作爲GET傳遞給API,然後您將通過翻譯接收一個json對象。實際上,您可以讀取源文件,將其組裝成查詢,將HTTP GET GET查詢發送給Google,然後解析並使用響應。

0

感謝您的快速和有益的回覆。現在,我最終上傳了我的文本文件---實際上它是一個XML文件---到我的網站,幷包括Google翻譯API(http://translate.google.com/translate_tools),以便從英文翻譯成德文。這種作品,雖然我想逃避一些標記標記。所以,不需要python,也不需要真正的編程。這項服務是一項付費服務​​,每1M字節收費20美元。