Как использовать неявную локализацию с MVCsiteMap?

Я пытаюсь использовать неявную локализацию с MVCSiteMap, но это не работает.

Вот мой образец 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>

У меня есть resourceKey="Products" в приведенной выше карте сайта и соответствующий Products.title в файле Web.sitemap.resx внутри папки App_GlobalResources. Следуйте этим инструкциям: http://msdn.microsoft.com/en-us/library/ms178427(VS.80).aspx

Что мне здесь не хватает?

Редактировать

Это реализовано в наборе изменений 52831.


person BrunoSalvino    schedule 23.10.2010    source источник
comment
Почему проголосовали против? Может ли кто-нибудь объяснить это мне? Что я тут неправильно спросил?   -  person BrunoSalvino    schedule 24.10.2010
comment
+1, потому что этот вопрос не заслуживает отрицательного голосования...   -  person Lorenzo    schedule 24.10.2010


Ответы (2)


Это было исправлено в последней версии (на момент написания этой статьи — версии 2.2.1) MvcSitemapProvider благодаря владельцу проекта Маартену Баллиау!

Неявная локализация MvcSitemapProvider почти идентична локализации SitemapProvider по умолчанию (см. Как: локализовать карту сайта). Данные). ЕДИНСТВЕННОЕ отличие заключается в том, что вместо установки <siteMap enableLocalization="true"> в самом файле карты сайта вы должны установить это в файле Web.Config (как описано здесь).

person BrunoSalvino    schedule 08.11.2010

Вам необходимо получить доступ к заголовку пункта меню из файла ресурсов в вашем MvcSiteMapNode.

<mvcSiteMapNode title="$resources:MenuLocaliSations,Dashboard" controller="Dashboard" action="Index" changeFrequency="Always" updatePriority="Normal">
person abarr    schedule 24.10.2010
comment
Это явная локализация, а не то, что я хочу. Я хочу использовать атрибут resourceKey... - person BrunoSalvino; 25.10.2010