Esempio n. 1
0
    async void Update()
    {
        var inbuf   = new byte[102400];
        var segment = new ArraySegment <byte>(inbuf);

        if (!reading && client.State == WebSocketState.Open && ready)
        {
            reading = true;
            var result = await client.ReceiveAsync(segment, CancellationToken.None);

            switch (result.MessageType)
            {
            case WebSocketMessageType.Close:
                Debug.Log("Received close message. Status: " + result.CloseStatus + ". Description: " + result.CloseStatusDescription);
                ready = false;
                await client.CloseAsync(WebSocketCloseStatus.NormalClosure, string.Empty, CancellationToken.None);

                break;

            case WebSocketMessageType.Text:
                Debug.Log("Received text.");
                Translated translated = JsonConvert.DeserializeObject <Translated>(Encoding.UTF8.GetString(inbuf));
                if (translated.type == "final")
                {
                    StartCoroutine("coordinate", translated.recognition);
                }
                break;

            case WebSocketMessageType.Binary:
                Debug.Log("Received binary data: " + result.Count + " bytes.");
                break;
            }
            reading = false;
        }
    }
            public void SetupTranslateLessResultSecond()
            {
                this.Setup();
                var translated = new Translated[]
                {
                };
                var message = new HttpResponseMessage();

                message.StatusCode = HttpStatusCode.OK;
                message.Content    = new StringContent(JsonConvert.SerializeObject(translated));
                translatorContextMock.Setup(p => p.SendAsync(It.IsAny <HttpRequestMessage>()))
                .ReturnsAsync(message);
            }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="lang"></param>
        /// <param name="text"></param>
        /// <returns></returns>
        public async Task <string[]> Translate(string lang, string[] text)
        {
            string baseAdress   = "https://translate.yandex.net";
            string urlParameter = "api/v1.5/tr.json/translate?key=" + ApiKey + "&lang=" + lang;

            foreach (var item in text)
            {
                urlParameter += "&text=" + item;
            }
            string jsonString = await GenerateJsonCall(baseAdress, urlParameter);

            Translated result = await JsonConvert.DeserializeObjectAsync <Translated>(jsonString);

            //TODO: Allow multiple text
            return(result.text);
        }
            public void SetupTranslate(string key, string url)
            {
                this.Setup();
                var translated = new Translated[]
                {
                    new Translated()
                    {
                        translations = new Translation[] {
                            new Translation()
                            {
                                text = ExpectedTranslatedText,
                                to   = "ja"
                            },
                            new Translation()
                            {
                                text = "konchiwa",
                                to   = "ja"
                            },
                        }
                    }
                };
                var message = new HttpResponseMessage();

                message.StatusCode = HttpStatusCode.OK;
                message.Content    = new StringContent(JsonConvert.SerializeObject(translated));
                translatorContextMock.Setup(p => p.SendAsync(It.IsAny <HttpRequestMessage>()))
                .ReturnsAsync(message)
                .Callback <HttpRequestMessage>((msg) =>
                {
                    msg.Headers.TryGetValues("Ocp-Apim-Subscription-Key", out IEnumerable <string> keyValue);
                    Assert.Equal(key, keyValue.FirstOrDefault());
                    Assert.Equal(url, msg.RequestUri.ToString());
                    System.Object[] body = new System.Object[] { new { Text = InputText } };
                    Assert.Equal(JsonConvert.SerializeObject(body), msg.Content.ReadAsStringAsync().GetAwaiter().GetResult());
                });
            }
Esempio n. 5
0
        public void CreateAlertTypes(string category)
        {
            Items = new Dictionary <Alert, List <Translated> >();

            Register alertTypes;

            if (category == Constants.AlertCategoryDataset)
            {
                alertTypes = _registerService.GetRegister("Metadata kodelister", "Datasettvarsel");
            }
            else if (category == Constants.AlertCategoryOperation)
            {
                alertTypes = _registerService.GetRegister("Metadata kodelister", "Driftsmeldinger");
            }
            else
            {
                alertTypes = _registerService.GetRegister("Metadata kodelister", "Tjenestevarsel");
            }

            foreach (var alertType in alertTypes.items.Cast <CodelistValue>())
            {
                if (alertType.value != null)
                {
                    var        translationEnglish = alertType.Translations.Where(t => t.CultureName == Culture.EnglishCode).FirstOrDefault();
                    string     nameTranslated     = translationEnglish != null ? translationEnglish.Name : alertType.name;
                    Translated translation        = new Translated {
                        AlertType = nameTranslated, Culture = Culture.EnglishCode
                    };
                    List <Translated> translations = new List <Translated>();
                    translations.Add(translation);
                    Items.Add(new Alert {
                        Key = alertType.value, Value = alertType.name
                    }, translations);
                }
            }
        }
Esempio n. 6
0
        private void Update(object sender, EventArgs args)
        {
            try
            {
                if (translatedElement == null || !translatedElement.Displayed)
                {
                    translatedElement = driver.FindElementByXPath(translatedElementXPath);
                }

                //멈추거나 완료될때 호출하니까 주기가 짧아졌음. 고로 url을 새로 열어서 파싱하는게 더 나을수도 있음.

                var current = translatedElement.GetAttribute("data-text");

                if (!string.Equals(TranslatedText, current))
                {
                    TranslatedText = current;
                    Translated?.Invoke(TranslatedText);
                }
            }
            catch (Exception e)
            {
                translatedElement = null;
            }
        }