Cognitive Services

14.08.2018 von robert@riwa4.de
/blog/artikel/translator

Translator Text API

Diese Web-Seite hat sicherlich eher kein internationales Publikum, aber trotzdem habe ich mich einmal etwas mit den Translator Text API der Azure Cognitive Services beschäftigt und hier eingebaut.

English Français Espagnol Portuguese
Cognitive Services

Man kann jetzt im Blog und bei der Anzeige von Touren (also Radausfahrten, Reisen, Wanderungen) den Text über einen neuen Button in verschiedene Sprachen übersetzen lassen. Dazu rufe ich eine Azure Function auf, um das auch generell nutzen zu können. Die Function ruft dann schließlich das eigentliche Text API auf. 

Die Aufrufe sind alle REST-basiert und erwarten und geben JSON-Objekte zurück. Dazu nutze ich die hervorragende Flurl-Bibliothek Damit sieht dann ein typischer Aufruf folgendermaßen aus:

System.Object[] body = new System.Object[] { new { Text = textToTranslate } };

var response = await $"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0"
                     .WithHeader("Ocp-Apim-Subscription-Key", GetEnvironmentVariable("TranslatorApiKey"))
                     .SetQueryParam("to", to)
                     .SetQueryParam("textType", "html")
                     .SetQueryParam("from", "de")
                     .PostJsonAsync(body)
                     .ReceiveJsonList();
return new JsonResult(response);

Soweit ich das beurteilen kann, sind die Übersetzungen ganz gut. Die automatische Erkennung der Ausgangssprache hat nicht so gut funktioniert. Aber ok, ich übersetze hier ausschließlich vom Deutschen in eine andere Sprache. Was sehr praktisch ist: Man kann HTML-Text übersetzen, wobei dann die HTML-Struktur des Textes erhalten bleibt. 

Ich nutze dazu übrigens den kostenfreien Tarif, damit kann man pro Monat Texte mit insgesamt bis zu 2.000.000 Buchstaben übersetzen. Zum Ausprobieren reicht das.