webform 本地化资源实现中英双语系统

来源:互联网 发布:mac下网络组网图 编辑:程序博客网 时间:2024/06/06 15:39

1 前端模板文件里面写两个标签,可以选择语言


<a href="javascript:setLanguage('English');"  style="color:white;" id="languageEnglish">English</a>  <a href="javascript:setLanguage('Chinese','');" style="color:white;" id="languageChinese">中文</a><script type="text/javascript">       function setLanguage(language) {            $.cookie('LanguageSelect', language, { expires: 300, path: '/' });            window.location.reload();        }   </script>

2 工具类里面的两个方法,识别当前用户选择的语言类型。该方法在系统内经常用到。。。


public class LanguageHelper    {        public static bool IsEnglish()        {            HttpCookie languageCookie = HttpContext.Current.Request.Cookies.Get("LanguageSelect");            bool res = false;            if (languageCookie != null && "English".Equals(languageCookie.Value))            {                res = true;            }            return res;        }        public static string GetLanguageId()        {            string strLanguageId = "zh-CN";            if (IsEnglish())            {                strLanguageId = "en-US";            }            return strLanguageId;        }    }

3 在页面基类里面统一进行语言设置


       protected override void InitializeCulture()        {            string strLanguageId = LanguageHelper.GetLanguageId();            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(strLanguageId);            Thread.CurrentThread.CurrentUICulture = new CultureInfo(strLanguageId);            base.InitializeCulture();        }

4 对页面进行本地化设置,生成本地化资源,创建并且编辑  XXX.aspx.resx  XXX.aspx.zh.resx  XXX.aspx.en.resx等资源文件。。如果开发更多语言类型 的系统,则需要编辑更多的资源文件就可以了。。。