Я должен перевести некоторый текст с Google, переводят сервис. Весь код, который я нашел, не работает. Я думаю, потому что они изменили свой сервис. Если бы у кого-то есть рабочий код, я был бы очень рад.
Посмотрим, работает ли это для вас
google-language-api-for-dotnet
http: // code .google.com / p / google-language-api-for-dotnet /
Переводчик Google
http://www.codeproject.com/KB/IP/GoogleTranslator.aspx
Переведите текст с помощью Google
Api http://blogs.msdn.com/shahpiyush/archive/2007/06/09/3188246.aspx
Вызов API языка Google Ajax для перевода и определения языка из C #
Веб-служба перевода на C #
http://www.codeproject.com/KB/cpp/translation.aspx
Использование API перевода Google из .NET
Причина, по которой первый пример кода не работает, заключается в том, что макет страницы изменился. Согласно предупреждению на этой странице: "Переведенная строка извлекается с помощью RegEx, расположенного в самом низу. Это, конечно, может измениться, и вы должны держать его в актуальном состоянии." Я думаю, это должно работать, по крайней мере, пока они снова не изменят страницу.
public string TranslateText(string input, string languagePair)
{
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
>"));
return result.Trim();
}
Google Translate Kit, библиотека с открытым исходным кодом http://ggltranslate.codeplex.com/
Translator gt = new Translator();
/*using cache*/
DemoWriter dw = new DemoWriter();
gt.KeyGen = new SimpleKeyGen();
gt.CacheManager = new SimleCacheManager();
gt.Writer = dw;
Translator.TranslatedPost post = gt.GetTranslatedPost("Hello world", LanguageConst.ENGLISH, LanguageConst.CHINESE);
Translator.TranslatedPost post2 = gt.GetTranslatedPost("I'm Jeff", LanguageConst.ENGLISH, LanguageConst.CHINESE);
this.result.InnerHtml = "<p>" + post.text +post2.text+ "</p>";
dw.WriteToFile();