/// <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; }