2010-10-23 5 views
6

J'essaie d'utiliser implicit localisation avec MVCSiteMap mais ça ne fonctionne pas.Comment utiliser la localisation implicite avec MVCSiteMap?

Voici mon exemple 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> 

Je resourceKey="Products" dans le plan du site ci-dessus et un correspondant Products.title dans le fichier Web.sitemap.resx, dans le dossier App_GlobalResources. Suivi de ces instructions: http://msdn.microsoft.com/en-us/library/ms178427(VS.80).aspx

Qu'est-ce qui me manque ici?

Modifier

Cela a été mis en œuvre dans le changeset 52831.

+1

Pourquoi les votes ont-ils été rejetés? Quelqu'un peut-il me l'expliquer? Ce que j'ai demandé mal ici? – BrunoSalvino

+2

+1 parce que cette question ne mérite pas un vote négatif ... – Lorenzo

+1

@Lorenzo Merci! – BrunoSalvino

Répondre

6

Cela a été abordé dans la dernière version (au moment de cette écriture, la version 2.2.1) de MvcSitemapProvider merci au propriétaire du projet, Maarten Balliauw!

La localisation implicite de MvcSitemapProvider est presque identique à celle de SitemapProvider par défaut (see How to: Localize Site-Map Data). La seule différence est que, au lieu de définir <siteMap enableLocalization="true"> dans le fichier de sitemap lui-même, vous devez définir cela dans le fichier Web.Config (as described here).

2

Vous devez accéder au titre de l'élément de menu à partir du fichier de ressources dans votre MvcSiteMapNode

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

Ceci est une localisation explicite, pas ce que je veux. Je veux utiliser l'attribut "resourceKey" ... – BrunoSalvino

Questions connexes