做了一个asp.net项目,70多个页面,现要实现多语言,资源文件如何处理方便维护?方案一、所有的资源项放到全局App_GlobalResources中,每种语言一个文件 ,3种语言3个文件
每个页面有相同的项:如按钮现实“确定”“取消”“名称”等只需要建立一个资源项方案二、每个页面的文本显示放在各自局部资源文件App_LocalResources中,每个页面,每种语言一个文件,3种语言210个文件有过这方面经验的能否给点建议?那种方法好些?

解决方案 »

  1.   

    看看这个,对你有帮助!
    http://greece.cnblogs.com/archive/2005/07/25/199648.html
      

  2.   

    这样吧,像CCS里那样
    都放在XML文件中
    比如
    chs/language.xml en/language.xml
    然后用一个类,在应用程序启动时读取相应的xml文件,缓存它
    然后就设置不同的页面了
    比如
    this.label1.Text = GetText(User.Language, labelName);
      

  3.   

    protected void Page_Load(object sender, EventArgs e)
        {               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
    建议用数据库存储控件名和语言,不要用什么资源文件之类的不好维护。