2012-09-21 11 views
10

Google Translate'i uygulamaya çalıştığım bir Doğal Dil İşleme programında çalışıyorum. Google Meclis'te çevirmek uygulamak için yollar ararken ben şu kod segmenti geldi: C# için nispeten yeni duyuyorumGoogle Translate C#

public static string Translate(string input, string languagePair, Encoding encoding) 
{ 
    string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text=  {0}&langpair={1}", input, languagePair); 
    string result = String.Empty; 

    using (WebClient webClient = new WebClient()) 
    { 
     webClient.Encoding = encoding; 
     result = webClient.DownloadString(url); 
    } 

    HtmlDocument doc = new HtmlDocument(); 
    doc.LoadHtml(result); 
    return doc.DocumentNode.SelectSingleNode("//textarea[@name='utrans']").InnerText; 
} 

, ben esas

public static string Translate(string input, string languagePair, Encoding encoding) 
için örtülü parametrelere ben belirsiz Java kullanılan ve adres (link: http://msdn.microsoft.com/en-us/library/h5y3703w(v=vs.71).aspx)

Byte[] thirdcharNoFlush = new Byte[encoder.GetByteCount(chars, 2, 1, bFlushState)]; 
    encoder.GetBytes(chars, 2, 1, thirdcharNoFlush, 0, bFlushState); 

ne ben gerektiğini ben Encoder C# API baktığınızda

olarak Kodlama sınıfını nasıl kullanılacağı için örnekler vardı Google Çeviri'yi kullanarak İspanyolca'ya "Nasılsın?" gibi bir ifadeyi çevirmek için parametrelerimde girdi girin. Bu konuda herhangi bir yardım çok takdir edilecektir!

+2

deneyin 'çevirme ("nasılsın?", "Enes", System.Text.Encoding.UTF8)'. Ancak, sonucun bu snippet ile kazandığını bilmiyorum, çünkü google'ın çeviri için yeni kullanıcı arayüzünü önceden tahmin ettiğimi düşünüyorum. –

+0

Anahtar kutusu bir "|" ile bölünmelidir. –

+1

@DarrenDavies Yorumumu değiştiremiyorum ama haklısınız –

cevap

4

Bu çalışması gerekir:

var result = Translate("How are you?", "es|en", Encoding.UTF8); 
+0

Teşekkür ederim, şimdi deneyeceğim! –

+0

Başka hiç kimse, her iki yanıtın "en | es" yerine "es | en" olduğunu ilginç buluyor mu? –