【原创】网站任意语言切换
这个语言切换只是局部的,想要做到真正的意义的语言切换那只能手动了!
之前我写了个企业网站通用的程序,里面管理登陆后台的时候反馈的一些信息和分页的文字说明是中文的而且写在cs里的,如管理员登陆的时候弹出信息提示:欢迎您成功登陆到网站后台!当然老外是看不懂中文的,所以我们要做个语言切换的功能,能适用于各种语言的企业管理系统!
先看代码吧,不难...
Web.config
定义一个现在所使用的语言版本
<add key="Language" value="en" />
Language.xml
<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Language>
<cn_FirstPage>首页</cn_FirstPage>
<en_FirstPage>FirstPage</en_FirstPage>
<cn_PrevPage>上页</cn_PrevPage>
<en_PrevPage>PrevPage</en_PrevPage>
<cn_NextPage>下页</cn_NextPage>
<en_NextPage>NextPage</en_NextPage>
<cn_LastPage>上页</cn_LastPage>
<en_LastPage>LastPage</en_LastPage>
<cn_RecordCount>总记录</cn_RecordCount>
<en_RecordCount>RecordCount</en_RecordCount>
<cn_PageSize>每页</cn_PageSize>
<en_PageSize>PageSize</en_PageSize>
<cn_PageCount>总页数</cn_PageCount>
<en_PageCount>RecordCount</en_PageCount>
</Language>
</Root>
<Root>
<Language>
<cn_FirstPage>首页</cn_FirstPage>
<en_FirstPage>FirstPage</en_FirstPage>
<cn_PrevPage>上页</cn_PrevPage>
<en_PrevPage>PrevPage</en_PrevPage>
<cn_NextPage>下页</cn_NextPage>
<en_NextPage>NextPage</en_NextPage>
<cn_LastPage>上页</cn_LastPage>
<en_LastPage>LastPage</en_LastPage>
<cn_RecordCount>总记录</cn_RecordCount>
<en_RecordCount>RecordCount</en_RecordCount>
<cn_PageSize>每页</cn_PageSize>
<en_PageSize>PageSize</en_PageSize>
<cn_PageCount>总页数</cn_PageCount>
<en_PageCount>RecordCount</en_PageCount>
</Language>
</Root>
类
读取xml文件的属性
public string GetXmlReadValue(string XmlName,string Key)
{
XmlDocument MyXmlDocument=new XmlDocument();
MyXmlDocument.Load(HttpContext.Current.Server.MapPath(XmlName));
XmlNodeList MyXmlNodeList = MyXmlDocument.GetElementsByTagName(Key);
if(MyXmlNodeList.Count==0)
{
return "";
}
else
{
XmlNode MyXmlNode=MyXmlNodeList[0];
return MyXmlNode.InnerText;
}
}
{
XmlDocument MyXmlDocument=new XmlDocument();
MyXmlDocument.Load(HttpContext.Current.Server.MapPath(XmlName));
XmlNodeList MyXmlNodeList = MyXmlDocument.GetElementsByTagName(Key);
if(MyXmlNodeList.Count==0)
{
return "";
}
else
{
XmlNode MyXmlNode=MyXmlNodeList[0];
return MyXmlNode.InnerText;
}
}
读取具体选择语言的属性
public string GetLanguageValue(string Key)
{
string Language=ConfigurationSettings.AppSettings["Language"].ToLower();
try
{
return this.GetXmlReadValue("/Language.xml",Language+"_"+Key);
}
catch
{
return null;
}
}
{
string Language=ConfigurationSettings.AppSettings["Language"].ToLower();
try
{
return this.GetXmlReadValue("/Language.xml",Language+"_"+Key);
}
catch
{
return null;
}
}
具体调用方法,如调用上页
this.GetLanguageValue("PrevPage")
需要注意的是xml文件要保存为UTF-8格式,欢迎大家点评!