您能解释一下如何在web.sitemap中实现本地化吗?
答案 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。