如何在web.sitemap中实现本地化

时间:2009-03-05 12:01:02

标签: asp.net localization

您能解释一下如何在web.sitemap中实现本地化吗?

4 个答案:

答案 0 :(得分:4)

使用全局资源文件。

App_GlobalResources\Web.sitemap.resx

然后使用web.sitemap中的键,如;

<siteMapNode url="somepage.aspx" title="Name"  resourceKey="PageName"/>

答案 1 :(得分:4)

答案 2 :(得分:1)

值得注意的是,您还需要在enableLocalization="true"代码处设置siteMap。否则它将无法工作。

答案 3 :(得分:0)

1)在Web.sitemap文件中的enableLocalization='true'根节点上添加一个<siteMap>属性。

2)向Web.sitemap文件中的每个resourceKey节点添加唯一的<siteMapNode>属性。

3)在GlobalResources目录中创建一个新的Web.sitemap.resx资源文件。

4)打开新的Web.sitemap.resx文件。将您在步骤2中创建的每个<siteMapNode> resourceKey属性添加到“名称”列下的资源列表中,然后依次单击“ .Description”和“ .Title”来设置本地化的标题。然后,显示的文本将进入“值”列。

请注意,Visual Studio将用红色的惊叹号标记每个资源条目,说这是无效的标识符-忽略警告。

例如,如果您的<siteMapNode>的{​​{1}}为“ Example”,则本地化的Description标签为Example.Description,本地化的Title标签为Example.Title

应该这样做。然后,您可以通过复制resx文件并重命名该副本以适应新的文化来提供其他语言的翻译。

如果它不起作用,请确保新资源文件位于GlobalResources目录中,而不是LocalResources中。另外,请确保已禁用OutputCache。