26 messaggi dal 30 settembre 2006
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.descriptionCart
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
432 messaggi dal 31 gennaio 2007
io ho risolto inserendo nel App_GlobalResources i file del web.sitemap.resx
tipo:

web.sitemap.IT.resx
web.sitemap.FR.resx
web.sitemap.EN.resx

ed in ognuno ho solamente caricato il nome della risorsadavisualizzare.Title

che in VS2005 segnerà come errore, ma che poi funziona benissimo..

ciao
26 messaggi dal 30 settembre 2006
Ciao!
Grazie del suggerimento, avevo già provato e in questa maniera vedo il menu e prende il testo la prima volta (in base alla lingua impostata dal browser) ma se premo sui pulsanti per il cambio lingua non mi cambia la lingua solo sul menu, su tutto il resto si...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.