做了一个asp.net项目,70多个页面,现要实现多语言,资源文件如何处理方便维护?方案一、所有的资源项放到全局App_GlobalResources中,每种语言一个文件 ,3种语言3个文件
每个页面有相同的项:如按钮现实“确定”“取消”“名称”等只需要建立一个资源项方案二、每个页面的文本显示放在各自局部资源文件App_LocalResources中,每个页面,每种语言一个文件,3种语言210个文件有过这方面经验的能否给点建议?那种方法好些?
每个页面有相同的项:如按钮现实“确定”“取消”“名称”等只需要建立一个资源项方案二、每个页面的文本显示放在各自局部资源文件App_LocalResources中,每个页面,每种语言一个文件,3种语言210个文件有过这方面经验的能否给点建议?那种方法好些?
解决方案 »
- vs2008 .net framework 2.0项目如何升级到3.5
- DAL中的一句sql总是提示'@pagesize' 附近有语法错误。
- html动态加载xml的问题
- 关于GridView中,一个颜色的小问题
- 关于在.NET里面如何调用MessageBox的问题
- 请问要绘制平滑曲线图,用什么工具比较好,哪儿有实例?谢谢(owc除外)
- 怎样在C#中执行类似JavaScript中eval("q"+i)的效果?
- 关于MY97日历控件的使用
- VS。NET中WEBO数据库数据导成EXCEL数据,怎么配置,怎么总说我没权限
- 这个查询语句怎么写啊??
- 为了做多语言版本的在ASPX上每个文字处都加了个文字调用,会不会降低速度呀
- 多语言版本网站的设计
http://greece.cnblogs.com/archive/2005/07/25/199648.html
都放在XML文件中
比如
chs/language.xml en/language.xml
然后用一个类,在应用程序启动时读取相应的xml文件,缓存它
然后就设置不同的页面了
比如
this.label1.Text = GetText(User.Language, labelName);
{ ListControls(this);
}
private void ListControls(Control c)
{
foreach (Control obj in c.Controls)
{
Response.Write("<div style='border:1px solid lightblue;margin-left:15px;'>" +obj.ID );
if(obj.Controls.Count>0)
{
ListControls(obj);
}
Response.Write("</div>");
}遍历Control剩下的事情你自己就知道了,做一个BasePage
碰到userControl就按照
WebUserControl1.Label1的规则去读
其他的就按照
叶面.form1.Panel1.Label3
建议用数据库存储控件名和语言,不要用什么资源文件之类的不好维护。