net2.0的资源文件实现多语言开发! 2222

mfethod:

1.先作个 SElect Language.aspx

<form id="form1" runat="server">
    <div>
     
        <asp:Button ID="Button1" runat="server" meta:resourcekey="Button1Resource1" Text="Button" />
        <asp:TextBox ID="TextBox1" runat="server" meta:resourcekey="TextBox1Resource1"></asp:TextBox>
        <asp:Label ID="Label1" runat="server" meta:resourcekey="Label1Resource1" Text="Label"></asp:Label></div>
          <asp:Button ID="Button2" runat="server" Text="<%$resources: global, String1%>" OnClick="Button2_Click" />

    </form>

 

2.selectLanguage.aspx.cs:

public partial class SelectLanguage : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                Button2.Text = Resources.global.String1;
            }

        }

 

        protected void Button2_Click(object sender, EventArgs e)
        {
            if (Session["PreferredCulture"] == "en-us")
            {
                Session["PreferredCulture"] = "zh-cn";

            }
            else if(Session["PreferredCulture"]=="en-us")
            {
                Session["PreferredCulture"] = "en-us";
           
            }

            Response.Redirect(Request.Url.PathAndQuery);

        }
    
}

 

3.写基类ResourceManager.cs

 

public class ResourceManager
    {
        public ResourceManager()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        public static string GetString(string name, string userLanguages)
        {
            //通过指定属性名返回包含此属性名相关信息的hash表
            Hashtable source = LoadSource(userLanguages);

            //如果hash表不等于null就将其值返回
            if (source != null)
            {
                return source[name].ToString();
            }
            else
            {
                return "";
              
            }

           
          
        }

        //获取语言语句字典
        public static Hashtable LoadSource(string userLanguages)
        {
            //获取xml文件存放的物理路径
            string pathFile = System.Web.HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath + "/Languages/" + userLanguages + "/Resources.xml");

            //创建一个xmldatadocument对象
            System.Xml.XmlDataDocument lagXml = new XmlDataDocument();

            //加载其要操作的xml文件
            lagXml.Load(pathFile);

            //声明一个hash表
            Hashtable supportedLanguages;

            //创建hash表
            supportedLanguages = new Hashtable();

            //获取xml文件中root节点下的所有子节点
            foreach (XmlNode xn in lagXml.SelectSingleNode("root").ChildNodes)
            {
                //如果不是注释就将子节点属性值和节点文本以键/值对形式存放到hash表里
                if (xn.NodeType != XmlNodeType.Comment)
                {
                    supportedLanguages.Add(xn.Attributes["name"].Value, xn.InnerText);
                }
            }

           
            return supportedLanguages;
        }

 

    }

 

4.写配制Web.Config

<system.web>

  <anonymousIdentification enabled="true"/>
  <profile>
   <properties>
    <add name="LanguagePreference" type="string"  defaultValue="auto" allowAnonymous="true" />
   </properties>
  </profile>
    </system.web>

 

5.global.asax

<%@ Application Codebehind="Global.asax.cs" Inherits=" TangramMiniWeb.Global" %>

global.asax.cs

protected void Application_BeginRequest(Object sender, EventArgs e)
  {
            //CultureInfo类表示有关特定区域性的信息,提供信息的区域性特定对象的访问
            ultureInfo cultureInfo = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
            //CurrentCulture属性用来获取或设置当前线程的区域性
            Thread.CurrentThread.CurrentCulture = cultureInfo;
            //CurrentUICulture属性用来获取或设置资源管理器使用的当前区域性以便在运行时查找区域性特定的资源
            Thread.CurrentThread.CurrentUICulture = cultureInfo;
  }

 

6.建立页面的资源文件:

 global.resx

global.en-us.resx

selectlanguage.resx

selectlanguage.en-us.resx

7.其他页面的继承的东西

比如:ablut.aspx.cs

 public partial class tan_About :ResourceManager
    {
        public void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
               
               //
            }
          

        }
      
    }

 

 

最后就是作资源文件了:

 ablut..aspx.resx                                              // add chinese value

ablut.aspx.en-us.resx                                    //add english value

 

thank you

 

 

 

基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [源说明] 不懂运行,下载完可以私聊问,可远程教学 该源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传源,答辩评审平均分达到96.5分,放心下载使用! 1、该源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值