文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>asp.net国际化的知识

asp.net国际化的知识

时间:2010-07-16  来源:cuisuqiang

实现国际化

1.在网站上,右键添加ASP.NET文件夹

2.在新建项里添加资源文件,注意命名的规范,我们默认的为GlobalResource.resx,一般没有指定语言区域的为 回退资源文件 ,即默认资源文件。

3.添加支持英文的资源文件GlobalResource.en-US.resx

4.简单应用开始,在页面里添加一个Label,然后在页面加载事件里添加如下代码:

this.Label1.Text=Resources.GlobalResource.today+DateTime.Now.ToString("F");

(1)同时覆盖方法,指定语言环境

protected override void InitializeCulture()

{

    this.UICulture = "en-us";

    this.Culture = "en-us";

base.InitializeCulture();

}

(2)以上还可以这样书写

Thread.CurrentThread.CurrentCulture=CultureInfo.CreateSpecificCulture("en-us");

Thread.CurrentThread.CurrentUICulture=CultureInfo.CreateSpecificCulture("en-us");

(3)以上均为手动指定,可以自动指定,这样程序会根据当前语言环境指定资源文件

if (this.Request.UserLanguages.Length > 0)

{

      this.UICulture = this.Culture = this.Request.UserLanguages[0];

}

(4)也可以这样自动指定,在页面上添加标签,但是仅针对当前页面

页面顶部加上标签UICulture="auto" 也可以将其改为en-US

也可以这样指定全局的自动指定,在配置文件中指定

(5)在web.config的<system.web>内配置

<globalization culture="auto" uiCulture="auto"/>

5.在页面上用标签指定文件值,之前要使用4里面的5种方法之一指定语言环境

<asp:Label ID="Label2" runat="server" Text="<%$ Resources:GlobalResource,today %>[注意该标签的使用] " /><% =DateTime.Now.ToString("F") %>

 

 

实现本地化

加入要对GlobalTest.aspx进行操作,注意该页面在根目录,页面有代码

<asp:Label  ID="Label3" runat="server" meta:resourcekey="lblCurrentTime"[注意标签使用] /><% =DateTime.Now.ToString("F") %>

1. 在网站上,右键添加ASP.NET文件夹

2.在新建项里添加资源文件,注意命名的规范,我们默认的为GlobalTest.aspx.resx[注意是页面的名称然后资源文件后缀]

3.在资源文件中写入的Key名称有所不同,加入有Key是lblCurrentTime.Text

4.标签会先找到lblCurrentTime,然后指定的是为空间的文本赋值,也可以定制其他属性

5.本地资源文件必须与页面或控件的位置对应,App_LocalResources 可以放在任何地方,因此将对应的资源文件放置在与页面平级的文件夹下

 

实例:Ajax脚本国际化

1.创建页面,注册Ajax,如下

<asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true"[启用国际化] >

</asp:ScriptManager>

2.创建一个DIV,命名为currentTime

3.编写脚本

    <script language="javascript" type="text/javascript">

     function pageLoad(){

        showTime();

     }

     function showTime(){

        $get("current").innerHTML=new Date().localeFormat[注意该方法可能存在支持问题]("F");

        window.setTimeout(showTime,1000);

     }

    </script>

4.页面增加标签UICulture[本地化时至于该属性有关] ="en-US",可以看到效果了已经

5.定义两个Ajax客户端JS文件,注意命名规范,默认为DemoFormat.js,并创建英文文件DemoFormat.en-US.js

6.在JS文件中写入

/// <reference name="MicrosoftAjax.js"/>

Type.registerNamespace("Demo");

Demo.Resx={

    "today":"今天是"

}

/// <reference name="MicrosoftAjax.js"/>

Type.registerNamespace("Demo");

Demo.Resx={

    "today":"Today Is"

}

7.页面中引入

<asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization[一定要设置该属性] ="true">

    <Scripts>

        <asp:ScriptReference  Path="~/Scripts/DemoFormat.js"

                 ResourceUICultures[可以接受的资源文件] ="en-US"/>

    </Scripts>

</asp:ScriptManager>

8.页面标签设置UICulture="en-US"

9.展示效果,因为标签设置,现在显示为英文

<script language="javascript" type="text/javascript">

document.write(Demo.Resx.today + new Date().localeFormat("yyyy/MM/dd"));

</script>

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载