private async Task <IDictionary <string, string> > GetForTranslateDictionary(ITranslateService translateService, IDictionary <string, string> dict, CancellationToken cancellationToken) { if (true) { return(new Dictionary <string, string>()); } var translatedTexts = dict.Select(x => x.Key).ToList(); var forYandex = _valuesToTranslate.Where(x => !translatedTexts.Contains(x.ToLower())).ToArray(); if (forYandex.Any()) { var nameTerms = await translateService.GetNamesDictionary(); var j = 0; foreach (var name in forYandex) { foreach (var t in nameTerms) { if (!String.IsNullOrEmpty(t.Key)) { forYandex[j] = name.Replace(t.Key, t.Value); } } j++; } } var yandexTranslated = await _yandexTranslateClient.TranslateAsync(forYandex, Languages.PolishCode.ToLower(), Languages.RussianCode.ToLower(), cancellationToken); var yandexDict = new Dictionary <string, string>(); if (forYandex.Count() == yandexTranslated.Count()) { for (var i = 0; i < forYandex.Count(); i++) { if (!yandexDict.ContainsKey(forYandex[i].ToLower())) { yandexDict.Add(forYandex[i].ToLower(), yandexTranslated[i].ToLower()); } } } return(yandexDict); }