asp.net 2.0 代码国际化

来源:百度文库 编辑:神马文学网 时间:2024/04/29 05:30:07

asp.net 2.0 代码国际化(一)

  from http://blog.sina.com.cn/davidguoliu

1、  写在前面

这篇文章只是我个人在学习过程当中的笔记,现在把它共享一下,希望对各位读者都有所帮助,如有不对之处,希望各位高人提出宝贵的意见。

2、  为什么需要代码国际化?

随着社会的进步,人们之间的交流不在局限于某一个区域。同样的道理,软件的使用也再面向某一区域的用户,它的用户可能是来自不同国家的、具有很大的文化差异的人们,所以代码国际化是必要的。这里只说在.net中web应用程序的国际化。

3、  添加和使用本地资源文件

新建一个名称为 globalTest的web项目,在该项目中有一个名称为Default.aspx的页面。需要说明的是资源文件有两种:本地资源文件和全局资源文件,它们有什么区别将在下面说明。资源文件它有自己特定的存储位置,.NET提供两个专门用来存储资源文件的文件夹,本地资源文件-App_LocalResources, 全局资源文件-App_GlobalResources.右击项目选择Add Asp.net Folder-App_ GlobalResources来增加全局资源文件夹, 右击项目选择Add Asp.net Folder-App_ App_LocalResources来增加本地资源文件夹。

 

   添加本地资源文件

 

本地资源文件的命名可不是随便乱命名的,它是有一定的规则的,本地资源文件命名的规则为:

Aspx文件名称.+语言/特定区域名称.+resx

例如:Default.aspx.zh-cn.resx 其中“zh-cn”为“中文-中国”的名称,这个名称可以从IE中查看。打开IE浏览器-Tool-Internet options…-languages…-add…,可以看到下面的窗口:

    如果想添加一个香港的资源文件,你可以这样写:Default.aspx.zh-hk.resx,美国:Default.aspx.en-us.resx 这样如果你的浏览器选择的区域是美国,就会调用Default.aspx.en-us.resx中的资源,但是必须要注意的是必须要有一个默认的资源文件,这个文件是当在找不到和你的浏览器设置的区域对应的资源文件时就会默认的调用这个资源文件中的资源,默认资源文件的命名规则为:

Aspx文件名称.+resx

    不管是全局的资源文件还是本地的资源文件,都必须要有一个默认的资源文件。本地资源资源中没有默认的资源文件会显示空白,全局资源中如果没有资源文件将不能通过编译。

这样每一个aspx文件都会有与它对应的资源文件,本例中我们做只做两种语言:zh-cn 和en-us,那么就要添加如下的资源文件:

Default.aspx.resx

Default.aspx.zh-cn.resx

Default.aspx.en-us.resx

此时的解决方案的结构如图所示:

到目前为止,已经成功的添加了本地资源文件。但是文件中还什么内容都没有,在想本地资源文件中添加内容之前先简单的给Default.aspx文件中增加一点内容以方便测试。

asp.net 2.0 代码国际化(一)

asp.net 2.0 代码国际化(二)

asp.net 2.0 代码国际化(三)

asp.net 2.0 代码国际化(四)

asp.net 2.0 代码国际化(五)  asp.net 2.0 代码国际化(六)