Localizzare la sitemap
Per localizzare il file Web.sitemap devi:
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:
- 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
- <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
The resource name 'xxxx.Title' is not a valid identifier.
ignora il warning e prosegui