Localizzazione su sitemap

domenica 04 novembre 2007 - 13.45

ely_bise Profilo | Newbie

Sto realizzando un sito multilingua e ho alcuni problemini con il sitemap.
Il mio sito l'ho strutturato in questa maniera:
ho una master.page per impostare la struttura della pagina, ho creato vari web user control (per il menu, per i pulsanti di selezione della lingua, login, ecc...).
Dopo di che lego tutto tramite la pagina di default.
Fin qui tutto regolare:
nella pagina di default ho messo l'override di InitializeCulture in questa maniera:

protected override void InitializeCulture()
{
if (Request.QueryString["lang"] != null)
{
string language = Request.QueryString["lang"];
Thread.CurrentThread.CurrentUICulture = new CultureInfo(language);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(language);
}
}

i pulsanti poi cambiano la lingua perchè nel PostBackUrl passo il percorso in questa maniera: Request.ServerVariables["SCRIPT_NAME"] + "?lang=en"
Quindi in questo modo è tutto giusto, cioè il titolo della pagina viene cambiato correttamente, i pulsanti cambiano il tooltip correttamente, ma nel user web control che contiene poi il legame con il sitemap non vedo nulla!

Ho fatto in questa maniera:
ho messo nella cartella App_LocalResources i tre file per le lingue per il sitemap:
menu.sitemap.resx, menu.sitemap.it.resx, menu.sitemap.es.resx
dentro questi file ho messo parolachiave con proprietà e valore, in questo modo:
Cart.description Cart
Cart.title Cart
.....

nel file poi menu.sitemap ho messo:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true" >
<siteMapNode url="" title ="" description ="" >
<siteMapNode url="Default.aspx" title="" description="" resourceKey="Home" />
<siteMapNode url="Cart.aspx" title="" description="" resourceKey="Cart" />
<siteMapNode url="Where.aspx" title="" description="" resourceKey="Where" />
<siteMapNode url="Contact.aspx" title="" description="" resourceKey="Contact" />
<siteMapNode url="Condiz.aspx" title="" description="" resourceKey="Condiz" />
</siteMapNode>
</siteMap>

cosa posso aver sbagliato?
seguendo poi altri esempi ho provato a mettere i file di risorsa del sitemap nella cartella App_GlobalResources e in questo caso vedo inizialmente corretto il menu perchè prende le impostazioni della lingua dal browser, ma quando premo sui pulsanti per cambiare la lingua non funziona, cambiano i testi di tutto il resto, ma non del menu.

Scusate per il papiro che ho scritto, spero di essere stata chiara sul problema e che qualcuno possa darmi una mano!
Grazie in anticipo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5