Je dois traduire un texte avec le service de traduction de Google. Tout le code que j’ai trouvé ne fonctionne pas. Je pense qu’ils ont changé de service. Si quelqu’un a du code de travail, je serais très heureux.
Voyez si cela fonctionne pour vous
google-language-api-pour-dotnet
http://code.google.com/p/google-language-api-for-dotnet/
Traducteur Google
http://www.codeproject.com/KB/IP/GoogleTranslator.aspx
Traduire votre texte en utilisant Google Api
http://blogs.msdn.com/shahpiyush/archive/2007/06/09/3188246.aspx
Appel de l’API Google Ajax Language pour la traduction et la détection du langage à partir de C #
Service Web de traduction en C #
http://www.codeproject.com/KB/cpp/translation.aspx
Utilisation de l’API de traduction de Google à partir de .NET
La raison pour laquelle le premier exemple de code ne fonctionne pas est que la disposition de la page a changé. Selon l’avertissement sur cette page: “La chaîne traduite est récupérée par le RegEx près du bas. Cela pourrait bien sûr changer et vous devez le garder à jour.” Je pense que cela devrait fonctionner pour l’instant, du moins jusqu’à ce qu’ils modifient à nouveau la page.
public ssortingng TranslateText(ssortingng input, ssortingng languagePair) { ssortingng url = Ssortingng.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; ssortingng result = webClient.DownloadSsortingng(url); result = result.Subssortingng(result.IndexOf(
" \"") + "
\"".Length); result = result.Subssortingng(result.IndexOf(">") + 1); result = result.Subssortingng(0, result.IndexOf("
>")); return result.Trim(); }
Google Translate Kit, une bibliothèque open source 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 = "" + post.text +post2.text+ "
"; dw.WriteToFile();
Lorsque j’ai utilisé le code ci-dessus.Il me montre le texte traduit comme un point d’interrogation comme (???????). Ensuite, je convertis de WebClient à HttpClient puis j’ai un résultat précis.Vous pouvez donc utiliser un code comme celui-ci.
public static ssortingng TranslateText( ssortingng input, ssortingng languagePair) { ssortingng url = Ssortingng.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair); HttpClient httpClient = new HttpClient(); ssortingng result = httpClient.GetSsortingngAsync(url).Result; result = result.Subssortingng(result.IndexOf("") + 1); result = result.Subssortingng(0, result.IndexOf("")); return result.Trim(); }
Ensuite, vous appelez une fonction comme.Vous mettez les deux premières lettres de n’importe quelle paire de langues.
De l’anglais (en) vers l’ourdou (ur).
TranslateText(line, "en|ur")
Google va fermer l’API de traduction d’ici la fin de 2011, vous devriez donc regarder les alternatives!
Si vous souhaitez traduire vos ressources , téléchargez simplement MAT (Multilingual App Toolkit) pour Visual Studio. https://marketplace.visualstudio.com/items?itemName=MultilingualAppToolkit.MultilingualAppToolkit-18308 C’est le moyen de traduire vos projets dans Visual Studio. https://blogs.msdn.microsoft.com/matdev/