public TranslationRresult GetTranslation(string inSearchText, Language inLanguage) { TranslationRresult translationResult = new TranslationRresult(); MicrosoftTranslationService transService = new MicrosoftTranslationService(); TranslationServiceResult transServiceResult = transService.GetTranslation(inSearchText, inLanguage); MicrosoftTransliterationService translitService = new MicrosoftTransliterationService(); TransliterationServiceResult translitServiceResult = translitService.GetTransliteration(inSearchText, inLanguage); translationResult.mSourceText = inSearchText; translationResult.mTranslitText = transServiceResult != null ? transServiceResult.translation : "TRANSLATION FAILED"; translationResult.mTranslatedText = translitServiceResult != null ? translitServiceResult.transliteration : ""; return(translationResult); }
public TransliterationServiceResult GetTransliteration(string inSourceString, Language inLanguage) { string host = "https://api.cognitive.microsofttranslator.com"; string route = "/transliterate?api-version=3.0&language=" + GetLanguageString(inLanguage) + "&fromScript=" + GetLanguageScriptString(inLanguage) + "&toScript=latn"; System.Object[] body = new System.Object[] { new { Text = inSourceString } }; string requestBody = JsonConvert.SerializeObject(body); HttpClient client = new HttpClient(); HttpRequestMessage request = new HttpRequestMessage(); request.Method = HttpMethod.Post; request.RequestUri = new Uri(host + route); request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json"); request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey); TransliterationServiceResult transRes = null; try { // Send request, get response HttpResponseMessage response = client.SendAsync(request).Result; string jsonResponse = response.Content.ReadAsStringAsync().Result; // Parse response JSON JArray jArr = JArray.Parse(jsonResponse); JToken jToken = jArr[0]; string transText = jToken["text"].ToString(); transRes = new TransliterationServiceResult(); transRes.transliteration = transText; } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return(transRes); }