internal static TranslationResult AddOrUpdate(TranslationCacheKey key, TranslationResult result)
        {
            if (result == null)
                return null;

            return _translationResultsCache.AddOrUpdate(key, result, (cacheKey, translationResult) => result);
        }
Example #2
0
        private TranslationResult ParseResponse(JObject json)
        {
            TranslationResult res = new TranslationResult();

            JToken        sentences     = json["sentences"];
            List <string> sentenceTexts = new List <string>();

            foreach (JToken sent in sentences.Children())
            {
                sentenceTexts.Add(sent.Value <string>("trans"));
            }
            string fullText = string.Join(" ", sentenceTexts);

            if (!string.IsNullOrWhiteSpace(fullText))
            {
                res.Sentences.Add(fullText);
            }

            JToken dictionary = json["dict"];

            if (dictionary != null)
            {
                foreach (JToken dToken in dictionary.Children())
                {
                    DictionaryItem d = new DictionaryItem();
                    d.Title = dToken.Value <string>("pos");
                    JToken terms = dToken["terms"];
                    foreach (JToken term in terms.Children())
                    {
                        d.Terms.Add(term.Value <string>());
                    }
                    res.DictionaryItems.Add(d);
                }
            }

            res.SourceLanguage = json.Value <string>("src");
            return(res);
        }
Example #3
0
 internal static bool TryGetValue(TranslationCacheKey key, out TranslationResult result)
 {
     return(_translationResultsCache.TryGetValue(key, out result));
 }
        private TranslationResult ParseResponse(JObject json)
        {
            TranslationResult res = new TranslationResult();

            JToken sentences = json["sentences"];
            List<string> sentenceTexts = new List<string>();
            foreach (JToken sent in sentences.Children())
            {
                sentenceTexts.Add(sent.Value<string>("trans"));
            }
            string fullText = string.Join(" ", sentenceTexts);
            if (!string.IsNullOrWhiteSpace(fullText))
            {
                res.Sentences.Add(fullText);
            }

            JToken dictionary = json["dict"];
            if (dictionary != null)
            {
                foreach (JToken dToken in dictionary.Children())
                {
                    DictionaryItem d = new DictionaryItem();
                    d.Title = dToken.Value<string>("pos");
                    JToken terms = dToken["terms"];
                    foreach (JToken term in terms.Children())
                    {
                        d.Terms.Add(term.Value<string>());
                    }
                    res.DictionaryItems.Add(d);
                }
            }

            res.SourceLanguage = json.Value<string>("src");
            return res;
        }
 internal static bool TryGetValue(TranslationCacheKey key, out TranslationResult result)
 {
     return _translationResultsCache.TryGetValue(key, out result);
 }