[习题]TreeView、Menu、SiteMapPath #2 --多国语系 /当地语系 / Localization

原文链接:http://www.cnblogs.com/mis2000lab/archive/2010/10/15/2008_05_06_3803_TreeView_Menu_Global_MultiLingo_Localization.html

[习题]TreeView、Menu、SiteMapPath #2 --多国语系 /当地语系 / Localization

 

http://www.dotblogs.com.tw/mis2000lab/archive/2008/05/06/3803.aspx

 

 

 

 

请看完这篇入门文章之后,再来研读底下的习题:

     [习题]TreeViewMenuSiteMapPath #0,巡览控件入门(书本文章分享)  

 

 

 

*的ASP.NET中文书籍,较少提到 Localization的部份

可是目前撰写的系统,要应付全球这么多国的语系,不可能不提到Localization。以我为例,一套系统要给*与*使用,中文就会分成「正体中文」与「简体中文」两个版本了。

 

执行结果:

我们可以修改浏览器里面的「语言、语系」设定,默认值如果是中文,就会看见中文内容(如下,左图)。
如果是英文语系,网页就会自动变成英文画面(如下,右图)。

 

[习题]TreeView、Menu、SiteMapPath #2 --多国语系 /当地语系 / Localization

 

 

[习题]TreeView、Menu、SiteMapPath #2 --多国语系 /当地语系 / Localization

 

 

=========================================================

首先,修改上一个范例的 .Sitemap档案(http://www.dotblogs.com.tw/mis2000lab/archive/2008/05/06/3802.aspx)

必须增修两个部份。

 

第一,<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"enableLocalization="true">

第二,把 "每一个" 节点的 title description属性都删除,只保留 url属性。并加入resourceKey属性。切记!~每一个节点都要改。

[习题]TreeView、Menu、SiteMapPath #2 --多国语系 /当地语系 / Localization

 

然后,在Visual Studio  2005/ 2008/ 2010里面,新增一个ASP.NET专属目录(/App_GlobalResource)

[习题]TreeView、Menu、SiteMapPath #2 --多国语系 /当地语系 / Localization

 

App_GlobalResource 目录里面新增两个 .resx文件,默认值是中文语系,文件名 Web.sitemap.resx。 此档名,建议跟 .sitemap档的完整名称相同~另一个语系是英文(en),档名为 Web.sitemap.en.resx

如此一来,当使用者的浏览器,使用英文语系(en)来浏览网站时,我们的ASP.NET就会自动以 Web.sitemap.en.resx档案,来呈现英文内容。

这两个档案,内部的写法如下:

[习题]TreeView、Menu、SiteMapPath #2 --多国语系 /当地语系 / Localization

 

 

 

 

 

写法很简单。第一个档案 Web.sitemap.resx表示「预设的语言」,如:中文语系。

  •  

「名称」那边请填入==> 每一个节点的 resourceKey.title 与 resourceKey.description。也就是说,每个节点的 title(标题)与description(介绍文字),都由这个 .resx档案来提供。

  •  

「值」的部份,请填入中文。

 

当然,直接用 WordPad文字编辑器,打开此 .resx文件(默认值是中文语系,文件名 Web.sitemap.resx)。手动添加内容也行 ,这个档案是一个XML档案,只需修改最后面的部份....。内容如下:
[习题]TreeView、Menu、SiteMapPath #2 --多国语系 /当地语系 / Localization

 

 

 

第二个档案 Web.sitemap.en.resx 表示「英文」语系 ,内容如下。
如果是法文,则将档名改为Web.sitemap.fr.resx,以此类推。
「值」的部份( 就是<value>的部份 ),请填入英文的说明、文字。

[习题]TreeView、Menu、SiteMapPath #2 --多国语系 /当地语系 / Localization

 

 

 

最后,每一个网页(.aspx檔)的第一行,都要加上这一段,让网页能依照「使用者设定的语系」自动提供不同语言版本的内容:

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

这样就完成了,很简单。


 

不过,我修改微软的SDK文件去修改,却一直作不成功......

 

2009/5/19补充:

本系列第三篇文章,请看: [习题]TreeViewMenuSiteMapPath #3 -- (会员登入)透过DropDownList控制TreeView与不同的 Sitemap

 

 

 

 2010/4/29补充:

ASP.NET 4.0 实时切换网页语系的多国语言设计(1)  http://www.delightpress.com.tw/article_c.aspx?article_id=47

ASP.NET 4.0 实时切换网页语系的多国语言设计(2)  http://www.delightpress.com.tw/article_c.aspx?article_id=48

转载于:https://www.cnblogs.com/mis2000lab/archive/2010/10/15/2008_05_06_3803_TreeView_Menu_Global_MultiLingo_Localization.html

上一篇:BootStrap-treeview 参考


下一篇:delphi 根据数据库结构生成TreeView