- 积分
- 386
- 在线时间
- 1875 小时
- 主题
- 7
- 注册时间
- 2013-6-30
- 帖子
- 246
- 最后登录
- 2023-4-28
- 帖子
- 246
- 软币
- 7892
- 在线时间
- 1875 小时
- 注册时间
- 2013-6-30
|
WebForm汉化
在讲Developer Express ASP.NET控件汉化前,我先介绍Visual Studio ASP.NET是如何进行显式本地化的,只有了解它,那么Dev的ASP.NET汉化就可以迎刃而解了。
VS Asp.net本地化
您将手动创建资源文件,然后使用 ASP.NET 声明性表达式语法引用这些文件。这里资源文件的基名称为 Zhy_WebLocalized。对于要本地化的每种语言,都将另外创建一个文件,并在文件名中包含相应的语言代码(有时可能还有区域性代码)。例如,对于美国英语,将创建名为 Zhy_WebLocalized.resx 的文件。对于简体中文,将创建名为 Zhy_WebLocalized.zh-CHS.resx 的文件。这两个文件都将放在 Web 应用程序的 Resources 目录下。下面对如何实现做一详细的讲解:
一、创建资源文件
1. 在解决方案资源管理器中,右击网站的根目录,单击添加 ASP.NET 文件夹中App_GlobalResources。
2. 在App_GlobalResources文件夹中添加资源文件Zhy_WebLocalized.resx,该文件将充当回退区域性的资源。
3. 再创建一个 .resx 文件,并将其命名为 Zhy_WebLocalized.zh-CHS.resx。字符串“zh-CHS”将文件标识为浏览器的语言设置为中国(简体)时使用的资源。
4. 创建第三个 .resx 文件,并将其命名为 Zhy_WebLocalized. ja-JP..resx。字符串 “ja-JP”将文件标识为浏览器的语言设置为日本(日本语)时使用的资源文件。
5. 打开 Zhy_WebLocalized.resx 文件。在“名称”列的第一行中键入 strMsg。在“值”列的第一行中,键入 Hello , China。保存文件并将其关闭。
6. 打开 Zhy_WebLocalized.zh-CHS.resx,创建名为 strMsg的资源字符串,并为其分配值“你好,中国”。完成之后,保存并关闭文件。
7. 打开 Zhy_WebLocalized.ja-JP.resx,创建名为 strMsg的资源字符串,并为其分配值“こんにちは、中国”。完成之后,保存并关闭文件。
向page添加 Label 控件
1. 将另一个 Label 控件拖动到页上。
2. 单击Label 控件Expressions属性框中的省略号 (…) 按钮。出现“Expressions”对话框。
3. 在“Bindable Properties”列表中选中为“Text”。
4. 在“Expression Type”列表中选择“Resources”。
5. 在“Expression Properties”下,将“ClassKey”设置为 Zhy_WebLocalized,并将“ResourceKey”设置为 strMsg。单击“确定”。
6. 切换到“Source”视图。标签的文本属性现在具有一个显式表达式,说明将从其中检索要选择的资源和键的基文件。代码如下:<asp:Label ID="Label1" Runat="server" Text="<%$ Resources: Zhy_WebLocalized, strMsg %>">
再在Web.config的中追加如下代码:
<system.web>
<globalization enableClientBasedCulture="true" culture="auto:zh-CHS" uiCulture="auto:zh-CHS"/>
</system.web>
注:Zhy_WebLocalized属性不具有语言指示符、区域性指示符或 .resx 扩展名,因为它不是实际的文件名。实际上,Zhy_WebLocalized表示基础资源类。ASP.NET 将根据浏览器发送的区域性,从文件名中包含相应的语言或区域性代码的文件中选择资源,文件名可能类似 Zhy_WebLocalized.zh-CHS.resx 和 Zhy_WebLocalized.ja-JP.resx,或者,如果未找到匹配的语言,则为 Zhy_WebLocalized.resx。
完成资源文件并添加声明性表达式后,可以开始测试页。做完最后一个测试后,浏览器被设置为将中国(简体)作为语言首选项进行报告。测试期间,会多次更改浏览器的语言。
对page进行测试
1. 按 Ctrl+F5 运行该页。在资源编辑器中提供的中文(简体)版文本将显示为 Label 控件的文本。
2. 在 Microsoft Internet Explorer 中,单击“工具”菜单上的“Internet 选项”。单击“语言”。
3. 在“语言首选项”对话框中,将“日本(日本语)[ja-JP]”移动到语言列表的顶部。完成后,单击“确定”并关闭“Internet 选项”对话框。
4. 按 F5 刷新浏览器。此时显示文本的日语版本。
5. 将语言更改为阿拉伯语,并再次按 F5 刷新该页。此时,该文本将以在回退资源文件中使用的语言显示。因为没有创建文件 LocalizedText.ar-eg.resx,ASP.NET 无法定位与浏览器报告的语言和区域性匹配的文本,因此会使用回退资源文件。
6. 完成对该页的测试后,将语言再次设置为首选语言。
DEV Asp.net本地化
明白了VS ASP.NET的本地化原理后,那么本文主要讲的Dev Asp.net控件的汉化就变得简单了。Dev所有Developer Express ASP.NET控件商家都给出了基础资源类,默认情况下这些文件位于“C:/Program Files/Developer Express .NET vX.Y/Sources/DevExpress.Web.ASPxGlobalResources/”的文件夹下(这里vX.Y是版本号)。
DevExpress ASP.NET Control Resource File
ASPxGridView DevExpress_Web_ASPxGridView_vX_Y.resx
ASPxEditors DevExpress_Web_ASPxEditors_vX_Y.resx
ASPxScheduler DevExpress_Web_ASPxScheduler_vX_Y.resx
ASPxperience Suite DevExpress_Web_vX_Y.resx
ASPxHtmlEditor DevExpress_Web_ASPxHtmlEditor_vX_Y.resx
ASPxPivotGrid DevExpress_Web_ASPxPivotGrid_vX_Y.resx
ASPxSpellChecker DevExpress_Web_ASPxSpellChecker_vX_Y.resx
ASPxTreeList DevExpress_Web_ASPxTreeList_vX_Y.resx
根据上面的资源文件列表,拷贝这些文件到当前解决方案的App_GlobalResources文件夹目录下,新建本地化资源,其实这里我们用不着再新建自己的本地化资源,我们只需复制一份基础资源类,将它的名称改为本地化名,并对其进行汉化就可以了。(注:这里必须同时存在基础资源类文件和本地化类文件)
e.g.
DevExpress_Web_ASPxGridView_vX_Y. zh-CHS.resx
DevExpress_Web_ASPxEditors_vX_Y. zh-CHS.resx
DevExpress_Web_ASPxScheduler_vX_Y. zh-CHS.resx
DevExpress_Web_vX_Y. zh-CHS.resx
DevExpress_Web_ASPxHtmlEditor_vX_Y. zh-CHS.resx
DevExpress_Web_ASPxPivotGrid_vX_Y. zh-CHS.resx
DevExpress_Web_ASPxSpellChecker_vX_Y. zh-CHS.resx
DevExpress_Web_ASPxTreeList_vX_Y. zh-CHS.resx
再在Web.config的中追加如下代码:
<system.web>
<globalization enableClientBasedCulture="true" culture="auto:zh-CHS" uiCulture="auto:zh-CHS"/>
</system.web>
原贴:http://blog.csdn.net/ljsql/article/details/5487460
|
评分
-
查看全部评分
|