Пример #1
0
        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);
        }
Пример #2
0
        public TranslationServiceResult GetTranslation(string inSourceString, Language inLanguage)
        {
            string host  = "https://api.cognitive.microsofttranslator.com";
            string route = "/translate?api-version=3.0&from=" + GetLanguageString(inLanguage) + "&to=en";

            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);

            TranslationServiceResult 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];
                JToken transToken = jToken["translations"];
                string transText  = ((JArray)transToken)[0]["text"].ToString();
                transRes             = new TranslationServiceResult();
                transRes.translation = transText;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            return(transRes);
        }