ASP.NET 2.0本地化技术入门之使用工具自动生成


  本文标签:ASP.NET 2.0本地化

  ASP.NET 2.0本地化技术入门:如何使用工具自动生成本地化资源(LocalResources)

  首先当然是建立一个WEB工程啦,如图所示:

  建立一个WEB工程

  

  双击Default.aspx,切换到[设计]视图,从工具箱里拖一个Button进来  。点击菜单中的[工具]->[生成本地资源],如图所示:

  点击菜单中的[工具]->[生成本地资源]

  

  这时发现在解决方案方案视图里自动增加了一份本地资源,如下图所示:

  解决方案方案视图里自动增加了一份本地资源

  

  切换到属性视图,可以看到Text和ToolTip都被加上了一个红色符号,提示“属性是用表达形式隐式绑定的”,如下图所示:(注意:只有在视图状态下选中控件才能看到这两个属性哟)

  Text和ToolTip都被加上了一个红色符号

  

  ASP.NET 2.0本地化包括增加对多语言的支持  。我们现在右键Default.aspx.resx,点击复制,再选中App_LocalResources目录,点击粘贴,将“副本 Default.aspx.resx”重命名为Default.aspx.en-us.resx,如图所示:

  增加对多语言的支持

  

  分别编辑Default.aspx.resx和Default.aspx.en-s.resx 的内容,如下图示:

  Default.aspx.resx

  编辑Default.aspx.resx的内容

  

  Default.aspx.en-s.resx

  编辑Default.aspx.en-s.resx的内容

  

  打开Default.aspx,在 Page 标签里添加Culture="auto" UICulture="auto",如下所示:

  1. < %  
  2. @ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" meta:resourcekey="PageResource1" UICulture="auto" Culture="auto"   
  3. %> 

  只有这样,后面才能获取浏览器的首选语言设置  。如果要加到 Web.config 中,如下所示:

  1. < system.web> 
  2.     < globalization uiCulture="auto" culture="auto" /> 
  3. < /system.web>   

  运行网站,效果如下图所示:

  运行网站

  

  点击IE菜单的[工具]->[Internet 选项],在弹出的对话框中点[常规]选项卡的[语言]按钮,弹出[语言首选项]对话框,如下图所示:

  弹出[语言首选项]对话框

  

  点击[添加]按钮,选择英语(美国),并上移到第一位,如下图所示:

  点击[添加]按钮,选择英语

  

  一路[确定]点下来,刷新页面,可以看到Button的标题变成“Hello World”啦,如下图所示:

  Button的标题变成“Hello World”

  

  综上所述,ASP.NET 2.0本地化中使用工具自动生成本地化资源,并隐式的绑定到控件上,来实现页面的本地化是非常简单的,但存在以下几项问题:

  1)必须为每个页生成多份资源文件;

  2)只有控件属性中被标识为Localizable(true)才可能被工具扫描到;

  3)由于是对页面包含的控件进行扫描,所以最好是在页面布局基本确定后再使用该工具,并且在编辑完    资源文件后不要再使用该工具,如果不幸你这样做了  。  。  。会发现默认的资源文件被清空了