Per localizzare il file Web.sitemap devi:
  • aggiungere l'attributo enableLocalization="true" al tag siteMap del file Web.sitemap
  • usare l'attributo resourceKey per riferirti alla chiave nel file di risorse
  • creare un file di risorse chiamato Web.sitemap.resx in App_GlobalResources (lingua di default)
  • creare uno più file di risorse localizzate chiamati Web.sitemap.<LANGUAGE>.resx nella cartella App_GlobalResources dove al posto di <LANGUAGE>vanno inseriti gli opportuni codici di lingua (es: en-US, it-IT,...)
  • inserire le chiavi e i valori nei file di risorse

XML: Web.sitemap
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true" >
  <siteMapNode url="~/default.aspx" resourceKey="home">
      <siteMapNode url="~/Function1.aspx" resourceKey="Fn1" />
      <siteMapNode url="~/Function2.aspx" resourceKey="Fn2" />
   </siteMapNode>
</siteMap>

Text: Web.sitemap.resx
home.Title=Home
Fn1.Title=Funzione 1
Fn2.Title=Funzione 2
Fn2.Description=Descrizone estesa della funzione 2

Text: v
home.Title=Home
Fn1.Title=Function 1
Fn2.Title=Function2 2
Fn2.Description=Extended description of function 2
Nota che le chiavi indicate nell'attributo resourceKey sono sempre seguite da un punto e poi dalla stringa Title la quale deve sempre essere presente. Eventualmente si può aggiungere anche una chiave seguita dal punto e dalla stringa Description. Quindi:
  • <nomeChiave in resourceKey>.Title
  • <nomeChiave in resourceKey>.Description
Se Visual studio visualizza una icona rossa contenente un punto esclamativo con il messaggio
The resource name 'xxxx.Title' is not a valid identifier.
ignora il warning e prosegui
Potrebbe interessarti anche: