快速业务通道

ASP.NET 2.0 国际化/本地化应用程序的实现总结(多语言,多文化页面的实现)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-11
类似页面内的Page指令即可

<%@ Page  Culture="Auto" UICulture="Auto" %>

要想对站点中的所有页面都设置相同的区域性设置,只需将以下元素添加到位于站点的根处的web.config文件中即可,这样就不必分别为每个页面进行分配了

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

还可以为ASP.NET指定一个默认区域性

以下指定页面的用户界面区域性是自动,默认区域性是英语,页的区域性是自动,默认区域性是英语(美国)

<globalization uiCulture="auto:en" culture="auto:en-US" />

Culture:指示页的区域性设置

UICulture:指定用于页的用户界面(UI)区域性设置

关于Internet Explorer中设置首选语言,可以如下配置:

1.选择“工具 | Internet 选项”命令。

2.选择“语言”按钮。

3.在显示的对话框中,单击“添加”按钮添加一个新的语言并选择一个新的区域性。单击“确定”。

4.请确保首选语言位于列表的顶部。选择该语言并单击“上移”。单击“确定”退出对话框。

5.刷新。

B.设置语言首选项

自动检测功能所选择的默认Culture和UICulture有时可能不是用户所需要的

例如:一个美国籍业务员来到中国出差,在中国总部上网下业务单.这种情况下,Web应用程序应该为用户提供显式更改语言的功能,给他提供英文版的业务下单页 using System.Threading;

using System.Globalization;

protected override void InitializeCulture ( )

{

    //显式的指定区域为en,为美国籍业务员显示英文页

    //实际应用中可以根据用户选择来动态设置语言

    //还可以利用Profile来记住用户选择的语言,以便用户以后访问网站时自动进入相应语言页

    Thread.CurrentThread.CurrentUICulture = new  CultureInfo ( "en" );

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

}

注意:对Thread.CurrentThread.CurrentCulture和Thread.CurrentThread.CurrentUICulture所做的更改需要在InitializeCulture()方法中进行,因为对首选浏览器语言的自动检测是在页生存期的早期发生的

特别提示:
CultureInfo类的实例化一般有两个途径,如下所示: CultureInfo culture = CultureInfo. CreateSpecificCulture (name);

CultureInfo culture = new CultureInfo(name);

二者的区分:
使用第一种方法,只能创建固定区域性或特定区域性的CultureInfo实例。

使用第二种方法,则是建立一个name所指定的区域性的CultureInfo实例,它可以是固定的,非特定的或特定区域性的

Thread类的CurrentCulture属性用来获取或配置当前线程的区域性,它必须被配置为特定区域性。

假如Thread.CurrentThread.CurrentCulture = new CultureInfo ( "en" );就会报错!

C.全局资源和本地资源

资源文件实际是XML文件,其中包含要转换为不同语言或图像路径的字符串。

资源文件包含键/值对,每一对都是一个单独的资源。键名不区分大小写。

ASP.NET中的资源文件具有.resx扩展名。在运行时,.resx 文件将编译进一个程序集内。

全局资源位于一个名为/App_GlobalResources的专用文件夹中,该文件夹位于应用程序的根目录下。

所有页、用户控件等都可访问这些资源,因此全局资源通常用作共享资源。

资源文件的名称用在显式表达式中,但也采用namespace.classname形式,以便在应用程序的Resources命名空间下进行强类型访问。

本地资源在同级/App_LocalResources文件夹下定义,RESX 文件遵循关联页

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号