在winform应用程序中使用谷歌翻译获取翻译的语言

时间:2013-01-09 04:05:28

标签: c# winforms

我正在尝试在我的winform应用程序中将字符串从“英语翻译成Bangla”。 我试过这段代码

        string input = "i eat rice";
        string languagePair = "en|bn";

        string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);
        WebClient webClient = new WebClient();
        webClient.Encoding = System.Text.Encoding.UTF8;
        string result = webClient.DownloadString(url);
        result = result.Substring(result.IndexOf("<span title=\"") + "<span title=\"".Length);
        result = result.Substring(result.IndexOf(">") + 1);
        result = result.Substring(0, result.IndexOf("</span>"));
        MessageBox.Show(result.Trim());

但我得到的是那个    &amp;#2438&amp;#2478&amp;#2495&amp;#2477&amp;#2494&amp;#2468&amp;#2454&amp;#2494&amp;#2439  但如果我把它放在谷歌的搜索框中,那么它会将我翻译的语言显示在搜索框中。 如何才能在我的winform中显示翻译的语言? N.B:我不想使用谷歌翻译API。

1 个答案:

答案 0 :(得分:3)

您获得的结果&#...是每个UTF-16字符的HTML实体编码。您可以使用HttpUtility.HtmlDecodeWebUtility.HtmlDecode来获取实际的unicode字符串。

result = HttpUtitlityDecode(result.Trim());
MessageBox.Show(result);

有关详细信息,请参阅Decoding all HTML Entities