/// <summary> /// 获取已加载的全部语言的翻译内容 /// </summary> /// <param name="isUseAlias">是否获取别名索引中的翻译内容(这里请先设置false)</param> /// <returns></returns> public List <LanguageShowData> GetLanguageShowDatas(bool isUseAlias) { List <LanguageShowData> languageShowDataList = new List <LanguageShowData>(); foreach (var item in _managerLanguageListIndex) { if (!isUseAlias) { if (item.Value.IndexType == "AliasName") { continue; } } var TranslateList = GetTranslateList(item.Key); var CultureCodeCountry = new CultureCodeCountry(item.Key, item.Value.SingleLanguage.Culture); bool IsDefault; if (item.Value.SingleLanguage.CultureName == DefaultLanguage) { IsDefault = true; } else { IsDefault = false; } LanguageShowData languageShowData = new LanguageShowData(TranslateList, CultureCodeCountry, IsDefault); languageShowDataList.Add(languageShowData); } return(languageShowDataList); }
/// <summary> /// 获取语言在cultureCode中,msgid在Msgid中的翻译结果(获取自定义翻译结果) /// </summary> /// <param name="cultureCode">需要加载的语言标识</param> /// <param name="Msgid">语言的msgid</param> /// <param name="isUseAlias">是否使用别名索引,目前请设置false</param> /// <returns></returns> public List <LanguageShowData> GetLanguageShowDataParts(List <string> cultureCode, List <string> Msgid, bool isUseAlias) { List <LanguageShowData> languageShowDatasList = null; if (cultureCode.Count < 1 || Msgid.Count < 1) { } else { languageShowDatasList = new List <LanguageShowData>(); foreach (var item in _managerLanguageListIndex) { if (!isUseAlias) { if (item.Value.IndexType == "AliasName") { continue; } } if (null == cultureCode.Find(x => x == item.Value.Index)) { continue; } var TranslateList = GetTranslateList(item.Key); var CultureCodeCountry = new CultureCodeCountry(item.Key, item.Value.SingleLanguage.Culture); bool IsDefault; if (item.Value.SingleLanguage.CultureName == DefaultLanguage) { IsDefault = true; } else { IsDefault = false; } LanguageShowData languageShowData = new LanguageShowData(TranslateList, CultureCodeCountry, IsDefault); for (int j = 0; j < languageShowData.TranslateList.Count; j++) { if (null == Msgid.Find(x => x == languageShowData.TranslateList[j].Source)) { languageShowData.TranslateList.Remove(languageShowData.TranslateList[j]); j--; } else { continue; } } languageShowDatasList.Add(languageShowData); } } return(languageShowDatasList); }