Example #1
0
        /// <summary>
        /// 切换语言
        /// </summary>
        public void SwitchLanguage(LanguageType langType = LanguageType.Cn, bool isLoadPageLanguage = false)
        {
            lock (_flyWeightLanguages)
            {
                _flyWeightLanguages.Clear();
            }
            switch (langType)
            {
            case LanguageType.En:
                PageLanguageHelper.LoadPageLanguage(new Uri("Pack://application:,,,/XLY.SF.Framework.Language;Component/Language/Language_En.xml", UriKind.RelativeOrAbsolute));
                _xmlDoc.LoadXml(Resource1.Language_En); break;

            case LanguageType.Cn:
                PageLanguageHelper.LoadPageLanguage(new Uri("Pack://application:,,,/XLY.SF.Framework.Language;Component/Language/Language_Cn.xml", UriKind.RelativeOrAbsolute));
                _xmlDoc.LoadXml(Resource1.Language_Cn); break;

            default:
                PageLanguageHelper.LoadPageLanguage(new Uri("Pack://application:,,,/XLY.SF.Framework.Language;Component/Language/Language_Cn.xml", UriKind.RelativeOrAbsolute));
                _xmlDoc.LoadXml(Resource1.Language_Cn); break;
            }
        }
        public static PageLanguageHelper GetLanguageContent(string SiteName, string ViewName)
        {
            PageLanguageHelper returnValue = null;
            if (SessionManager.Exists(SiteName + ViewName))
                SessionManager.Get<PageLanguageHelper>(SiteName + ViewName, out returnValue);
            else
            {
                LanguageContent param = new LanguageContent();
                param.SiteName = SiteName;
                param.ViewFeatureName = ViewName;

                var currentLanguage = SessionManager.GetCurrentLanguage();

                if (currentLanguage != null)
                    param.idLanguageType = currentLanguage.idLanguageType;
                else param.idLanguageType = LanguageTypeBL.GetLanguageTypeByLanguageName(LanguageTypeBL.LanguageTypes.French).idLanguageType;

                returnValue = new PageLanguageHelper(LanguageManager.GetPageLanguageContent(param));

                SessionManager.Add<PageLanguageHelper>(returnValue, SiteName + ViewName);
            }

            return returnValue;
        }
        //public static PageLanguageHelper GetLanguageContent(string SiteName, string ViewName)
        //{
        //    PageLanguageHelper returnValue = null;
        //    if (SessionManager.Exists(SiteName + ViewName))
        //        SessionManager.Get<PageLanguageHelper>(SiteName + ViewName, out returnValue);
        //    else
        //    {
        //        LanguageContent param = new LanguageContent();
        //        param.SiteName = SiteName;
        //        param.ViewFeatureName = ViewName;

        //        var currentLanguage = SessionManager.GetCurrentLanguage();

        //        if (currentLanguage != null)
        //            param.idLanguageType = currentLanguage.idLanguageType;
        //        else param.idLanguageType = LanguageTypeBL.GetLanguageTypeByLanguageName(LanguageTypeBL.LanguageTypes.French).idLanguageType;

        //        returnValue = new PageLanguageHelper(LanguageManager.GetPageLanguageContent(param));

        //        SessionManager.Add<PageLanguageHelper>(returnValue, SiteName + ViewName);
        //    }

        //    return returnValue;
        //}

        public static PageLanguageHelper GetLanguageContent(string siteName, string viewName)
        {
            PageLanguageHelper returnValue = null;
            int idLanguageType = 1; //French ?

            var currentLanguage = SessionManager.GetCurrentLanguage();

            if (currentLanguage != null)
            {
                idLanguageType = currentLanguage.idLanguageType;
            }
            else
            {
                idLanguageType = LanguageTypeBL.GetLanguageTypeByLanguageName(LanguageTypeBL.LanguageTypes.French).idLanguageType;
            }

            returnValue = new PageLanguageHelper(GetPageLanguageContent(siteName, viewName, idLanguageType));

            return returnValue;
        }