Использование Google Translate в [закрытом] C#

Я должен перевести некоторый текст с Google, переводят сервис. Весь код, который я нашел, не работает. Я думаю, потому что они изменили свой сервис. Если бы у кого-то есть рабочий код, я был бы очень рад.

54
задан JasonMArcher 27 August 2015 в 09:07
поделиться

3 ответа

Посмотрим, работает ли это для вас

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 #

http://www.esotericdelights.com/post/2008/11/Calling-Google-Ajax-Language-API-for-Translation-and -Language-Detection-from-C.aspx

Веб-служба перевода на C #

http://www.codeproject.com/KB/cpp/translation.aspx

Использование API перевода Google из .NET

http://www.reimers.dk/blogs/jacob_reimers_weblog/archive/2008/06/18/using-google-s-translation-api-from-net.aspx

61
ответ дан 7 November 2019 в 07:59
поделиться

Причина, по которой первый пример кода не работает, заключается в том, что макет страницы изменился. Согласно предупреждению на этой странице: "Переведенная строка извлекается с помощью 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();
}
22
ответ дан 7 November 2019 в 07:59
поделиться

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();
4
ответ дан 7 November 2019 в 07:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: