La localizzazione del controllo SiteMapPath
richiede dei passaggi leggermente diversi da quelli necessari per gli tutti gli altri oggetti di ASP.NET. Innanzi tutto, si deve impostare l’attributo enableLocalization
del tag SiteMap
su true
:
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true" >
Fatto questo, si deve aggiungere un tag di nome resourceKey
ai vari siteMapNode che si desidera localizzare:
<siteMapNode url="Default.aspx" resourceKey="HomePage"> <siteMapNode url="Errors/PageNotFound.aspx" resourceKey="PaginaNonTrovata" /> <siteMapNode url="Users/Login.aspx" resourceKey="Login" /> </siteMapNode>
Infine, per ogni lingua supportata si deve creare un RESX nella cartella App_GlobalResources del sito web, con nome Web.sitemap.<lingua>.resx
. Ad esempio:
Web.sitemap.resx
per la lingua di defaultWeb.sitemap.en-US.resx
per l’ingleseWeb.sitemap.fr-FR.resx
per il francese
All’interno di ognuno di questi file devono essere inserite le stringhe corrispondenti alle risorse. E’ possibile localizzare il titolo e la descrizione di ogni elemento:
Nome | Valore |
---|---|
Home.Title | Pagina iniziale |
Home.Description | Torna alla pagina iniziale del sito |
Login.Title | Accesso |
Nome | Valore |
---|---|
Home.Title | Home Page |
Home.Description | Go to Home page |
Login.Title | Login |
Con queste impostazioni, cambiando le cultura del sito, il controllo SiteMapPath mostrerà automaticamente le risorse localizzate nella nuova lingua.