1、第10章 全球化和本地化,内容,概述 在ASP.NET 2.0中实现全球化和本地化,概述,全球化和本地化定义全球化是指设计和开发能适合多种区域性或区 域设置的软件产品的过程。这一过程涉及: 标识必须支持的区域性或区域设置 设计支持这些区域性或区域设置的功能 编写在所支持的任何区域性或区域设置都能正常运行的代码,在ASP.NET 2.0中实现全球化和本地化,资源文件 使用资源对网页进行本地化 实现多语言支持 最佳实践,资源文件,资源文件介绍 资源文件其实就是一个 XML 文件,其中包含键/值对,每一对都是一个单独的资源 可以配置一个ASP.NET控件,在页面呈现出来的时候检测某个资源文件 在运行
2、时,.resx 文件将编译进一个程序集内,该程序集有时称为附属程序集 在运行时,ASP.NET 使用与 Current和UICulture 属性的设置最为匹配的资源文件,为 ASP.NET 站点创建资源文件,全局资源文件 本地资源文件 在全局和本地资源文件之间选择,全局资源文件,在应用程序根目录的 App_GlobalResources 中 引用方式 强类型:Resources.Resource.ResourceName 弱类型:使用GetGlobalResourceObject方法进行检索,本地资源文件,只应用于一个 ASP.NET 页的文件 本地资源文件所放入的文件夹具有 App_Loca
3、lResources 保留名称 资源文件名称与语言和区域性相关 可以通过GetLocalResourceObject方法 访问,在全局和本地资源文件之间选择,应用场景 需要在各页之间共享资源时,应向全局资源文件添加这些资源 使用本地资源方便表现页面的特定内容 两种资源文件结合使用,以保证资源项的低冗余度和使用的便利 默认资源文件进行更改时,ASP.NET 都重新编译资源并重新启动 ASP.NET 应用程序 添加附属资源文件将不会导致重新编译资源,但 ASP.NET 应用程序仍将重新启动,使用资源对网页进行本地化,隐式本地化 演示和练习:在ASP.NET中实现隐式本地化 显式本地化 演示和练习:
4、在ASP.NET中实现显式本地化 静态文本本地化,隐式本地化,已经创建了本地资源文件 在资源文件中定义资源项的命名规范 Key. Property(即 控件名.属性) 对该控件的标记使用特殊的 meta 属性可指定隐式本地化 meta:resourcekey=“ResourceKey“,演示和练习:在ASP.NET中实现隐式本地化,多媒体演示,显式本地化,必须为要设置的每个属性分别使用一个资源表达式 使用绑定表达式进行绑定 ,演示和练习:在ASP.NET中实现显式本地化,多媒体演示,静态文本本地化,使用Localize 控件进行文本的本地化,实现多语言支持,以声明方式设置 ASP.NET 网页
5、的区域性和 UI 区域性 在Web.config 中进行配置,例如:以编程方式设置 ASP.NET 网页的区域性和 UI 区域性 重写InitializeCulture 方法 设置Culture和UICulture属性,演示和练习:在ASP.NET中实现多语言支持,多媒体演示,最佳实践,技术问题 使用 Unicode 作为字符编码来表示文本 考虑实现多语言用户界面 监视指示输入语言更改的 Windows 消息,并将这些信息用于拼写检查、字体选择等 如果面向 Windows进行开发,请使用所有可能的区域性或区域设置在 Windows的所有语言变体上测试应用程序,最佳实践,文化和政治问题 在所有文本中避免俚语、口语和令人费解的措辞 避免在位图和图标中使用在其他区域性或区域设置中代表种族歧视或侮辱性的图像 避免使用包括有争议的地区或国家边界的地图,最佳实践,其他 将所有用户界面元素同程序源代码隔离开 在项目的整个生存期内使用相同的资源标识符 如果在多个上下文中使用,请生成同一字符串的多个副本 只将需要本地化的字符串放在资源中 ,回顾,概述 在ASP.NET 2.0中实现全球化和本地化,实验,参照实验手册,并在教师指导下完成实验报告。,习题,详见本书第10章后习题部分,请学生独立完成。,