5 messaggi dal 22 maggio 2009
Buonasera,
sto progettando un applicativo web multilayer, la cui presentation sarà in wpf/xbap che dovrà essere disponibile in più lingue. Il testo tradotto dovrà essere utilizzabile da quasi tutti i progetti della solution (circa venti). Pensavo di usare risorse globali, ma mi sono accorto che sono visibili solo all'interno del progetto in cui sono create. Sarei quindi costretto a creare più file res, uno per progetto, il ché mi complica la vita, anche perché son costretto spesso a riscrivere la stessa stringa su più res. Mi è sorto poi un altro dubbio. Se il mio browser è in lingua spagnola ed il server in lingua inglese, vedrò certamente la presentation in spagnolo, ma il testo restituitomi dal livello business, a cui accedo attraverso web services wcf, temo mi venga restituito erroneamente nella lingua del server, cioè in Inglese.
A questo punto le alternative a una res per ogni progetto potrebbero essere le seguenti:
1) Testo su una tabella del db, caricato in memoria all'apertura della sessione, su un oggetto lista.
2) Testo all'interno di una classe statica dell'applicativo, popolata all'apertura della sessione.
3) Soluzione che mi piaceva molto una classe lingue con all'interno delle properties, una per ogni stringa:
public static class Lingua
{
public static string Stringa1
{
get
{
string vTesto = "Testo in Inglese";
if (Parametri.Lingua.ToLower() == "it")
{
vTesto = "Testo in Italiano";
}
else if (Parametri.Lingua.ToLower() == "sp")
{
vTesto = "Testo in Spagnolo";
}
else if (Parametri.Lingua.ToLower() == "pt")
{
vTesto = "Testo in Portoghese";
}
else if (Parametri.Lingua.ToLower() == "fr")
{
vTesto = "Testo in Francese";
}
return vTesto;
}
}
}
}
Vedo però questa soluzione di scarsa manutenibilità.
Quale soluzione mi consgliate?
Non ho guardato il resto della soluzione che hai proposto, perché in realtà le risorse possono essere condivise tra più assembly. Quando le definisci tramite il designer di Visual Studio puoi cambiare la visibilità che normalmente è public. Io per queste cose ho fatto un assembly solo per inserire tutte le risorse in lingua.

Ciao

Il mio blog
Homepage

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.
In primo piano

I più letti di oggi

Media
In evidenza
MISC