2010-10-23 5 views
6

Ich versuche implict Lokalisierung mit MVCSiteMap zu verwenden, aber es funktioniert nicht.Wie verwende ich implizite Lokalisierung mit MVCSiteMap?

Hier ist meine Probe Web.Sitemap:

<?xml version="1.0" encoding="utf-8" ?> 

<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-2.0" enableLocalization="true"> 

<mvcSiteMapNode title="Home" controller="Home" action="Index" changeFrequency="Always" updatePriority="Normal"> 

    <mvcSiteMapNode resourceKey="Products" title="Products" controller="Products" action="Index"> 
     <mvcSiteMapNode title="Edit" controller="Products" action="Edit" /> 
    </mvcSiteMapNode> 

    <mvcSiteMapNode title="Categories" controller="Categories" action="Index" /> 
    <mvcSiteMapNode title="Suppliers" controller="Suppliers" action="Index" /> 

</mvcSiteMapNode> 
</mvcSiteMap> 

Ich habe resourceKey="Products" in der oben Sitemap und eine Products.title in Web.sitemap.resx Datei entspricht, innerhalb App_GlobalResources Ordner. Befolgen Sie diese Anweisungen: http://msdn.microsoft.com/en-us/library/ms178427(VS.80).aspx

Was ich hier fehlt?

bearbeiten

Dies wurde in der changeset 52831 umgesetzt.

+1

Warum abgewählt? Kann mir das jemand erklären? Was ich hier falsch gefragt habe? – BrunoSalvino

+2

+1, weil diese Frage keine Abstimmung nach unten verdient ... – Lorenzo

+1

@Lorenzo Danke! – BrunoSalvino

Antwort

6

Diese in der neuesten Version adressiert wurde zuzugreifen (zum Zeitpunkt des Schreibens dieses Artikels, Version 2.2.1) von MvcSitemapProvider Danke an den Projektbesitzer, Maarten Balliauw!

Die implizite Lokalisierung von MvcSitemapProvider ist fast identisch mit dem Standard-SitemapProvider (see How to: Localize Site-Map Data). Der EINZIGE Unterschied besteht darin, dass Sie stattdessen <siteMap enableLocalization="true"> in der Sitemap-Datei selbst festlegen müssen, und zwar in der Datei Web.Config (as described here).

2

Sie müssen den Titel des Menüpunktes aus der Ressourcendatei in Ihrer MvcSiteMapNode

<mvcSiteMapNode title="$resources:MenuLocaliSations,Dashboard" controller="Dashboard" action="Index" changeFrequency="Always" updatePriority="Normal"> 
+1

Dies ist explizite Lokalisierung, nicht was ich will. Ich möchte das Attribut "resourceKey" verwenden ... – BrunoSalvino