如题,请问各位都是用什么方法实现的?
由于系统设计时没有考虑到多语言,现在想加上多语言支持,网上很多人是用资源文件,个人觉得不是很适合,有没有其他的方法?(目前系统是用Asp.net开发的BS模式的系统)

解决方案 »

  1.   

    我的新项目是做了多语言的,但是旧的没有,有一个临时的解决方案,然后google有个api是整站你的中文网站翻译
      

  2.   

    通过配置 XML实现多语言的访问  
    protected override void InitializeCulture()  
      {  
      String s = Request.QueryString["currentculture"];  
      if (!String.IsNullOrEmpty(s))  
      {  
      Thread.CurrentThread.CurrentUICulture = new CultureInfo(s);  
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(s);  
      }  
      }  
    或Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持 
      

  3.   

    用XML?多语言的我一直是,主语言配备MSSQL,其他语言就是ACC数据库,
    有多少个语言就有多少个数据库,不知道这样对不对?
      

  4.   

            #region 翻译配置
            /// <summary>
            /// 得到相应的翻译
            /// </summary>
            /// <param name="LocalUrl">网站根路径</param>
            /// <param name="Language">语言</param>
            /// <param name="ProType">类型分块(Page:页面;Js:脚本)</param>
            /// <param name="TName">翻译原文</param>
            /// <returns></returns>
            public static string ReturnTargetText(string LocalUrl, string Language, string ProType, string TName)
            {
                string TitleName = "";
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(LocalUrl + "/language/xml/" + Language + ".xml");
                XmlNodeList xmlnode = xmldoc.SelectSingleNode("root").ChildNodes;            for (int i = 0; i < xmlnode.Count; i++)
                {
                    if (xmlnode.Item(i).Name == ProType)
                    {
                        xmlnode = xmlnode.Item(i).ChildNodes;
                        for (int j = 0; j < xmlnode.Count; j++)
                        {                        if (xmlnode.Item(j).Name == "lg" && xmlnode.Item(j).Attributes[0].Value == TName)
                            {
                                TitleName = xmlnode.Item(j).Attributes["TargetText"].Value;
                            }
                        }
                    }
                }
                return TitleName;
            }