private void InitLanguages() { if (!InitLanguagesFromApi) { TargetLanguages = Constants.BaiduTranslator.AvailableLanguages.Copy(); SourceLanguages = new TranslationLanguageCollection { { "", "Auto-detect" } }; SourceLanguages.AddRange(TargetLanguages); return; } lock (_syncRoot) { if (_sourceLanguages == null || _targetLanguages == null) { string[] codes = null; string[] names = null; try { codes = JsonConvert.DeserializeObject <string[]>(_connector.GetLanguagesForTranslate()); names = JsonConvert.DeserializeObject <string[]>(_connector.GetLanguageNames("en", codes)); } catch { codes = new string[0]; names = new string[0]; } var languages = new List <TranslationLanguage>(codes.Length); for (int i = 0; i < codes.Length; i++) { languages.Add(new TranslationLanguage(codes[i], names[i])); } languages.Sort((a, b) => string.CompareOrdinal(a.Name, b.Name)); _targetLanguages = languages; _sourceLanguages = new List <TranslationLanguage> { new TranslationLanguage("", "Auto-detect") }; _sourceLanguages.AddRange(_targetLanguages); } } }
private void InitLanguages() { if (!InitLanguagesFromApi) { TargetLanguages = Constants.BingTranslator.AvailableLanguages.Copy(); SourceLanguages = new TranslationLanguageCollection { { "", "Auto-detect" } }; SourceLanguages.AddRange(TargetLanguages); return; } lock (_syncRoot) { if (_sourceLanguages == null || _targetLanguages == null) { string[] codes = null; string[] names = null; try { codes = JsonConvert.DeserializeObject<string[]>(_connector.GetLanguagesForTranslate()); names = JsonConvert.DeserializeObject<string[]>(_connector.GetLanguageNames("en", codes)); } catch { codes = new string[0]; names = new string[0]; } var languages = new List<TranslationLanguage>(codes.Length); for (int i = 0; i < codes.Length; i++) { languages.Add(new TranslationLanguage(codes[i], names[i])); } languages.Sort((a, b) => string.CompareOrdinal(a.Name, b.Name)); _targetLanguages = languages; _sourceLanguages = new List<TranslationLanguage> { new TranslationLanguage("", "Auto-detect") }; _sourceLanguages.AddRange(_targetLanguages); } } }