コード例 #1
0
ファイル: LanguageManager.cs プロジェクト: lsnct/MutiLanguage
        /// <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);
        }
コード例 #2
0
ファイル: LanguageManager.cs プロジェクト: lsnct/MutiLanguage
        /// <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);
        }