2012-05-03 33 views
2

當我試圖翻譯簡單的「19 - 15」時,源語言的自動檢測失敗,並且出現「Bad語言對」異常。如何在Google Translate API .NET中指定源語言?

.NET示例包含Google翻譯API的一些包裝。它位於Google.Apis.Translate.v2.cs文件中。但是這個包裝器不允許指定源語言。那麼,製作這個最簡單的方法是什麼?

我認爲最正確的方法是重新生成Google.Apis.Translate.v2.cs。但我不知道該怎麼做。

雖然我可以處理粗糙的REST請求,但看起來很尷尬。

回答

4

您可以指定在翻譯ListRequest源參數如下面的代碼片段:

var request = service.Translations.List(srcText, input.TargetLanguage); 
request.Source = "fr"; 
TranslationsListResponse response = request.Fetch(); 
+0

有這種被否決或某事?不適合我... –

3

或者你也可以創建和過載爲Google.Apis.Translate.v2.cs列表的方法。下面的原始列表 只需輸入()這個方法:

public virtual ListRequest List(Google.Apis.Util.Repeatable<string> q, 
            string source, string target) 
{ 
    var _request = new ListRequest(service, q, target); 
    _request.Source = source; 
    return _request; 
} 

之後,你可以調用

var response = service.Translations.List(srcText, "en","ru").Fetch(); 
-1

什麼工作對我來說是這樣的:

var request = service.Translations.List(text, targetLanguage); 
if (!string.IsNullOrEmpty(sourceLanguage)) 
{ 
     request.Source = sourceLanguage; 
     request.Format = TranslationsResource.ListRequest.FormatEnum.Text; 
} 

var response = await request.ExecuteAsync(); 
+0

請注意詳細說明如何解決OP的問題? – RamenChef

相關問題