ASP.NET 2.0 国际化/本地化应用程序的实现总结(多语言,多文化页面的实现)
类似页面内的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 culture = new CultureInfo(name); 二者的区分: 使用第二种方法,则是建立一个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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |