vorrei un consiglio su come impostare un sito in tre lingue

nel senso di come gestire i testi..
non vorrei fare tre versioni dello stesso sito..

che faccio metto i testi di tutte le pagine in un Db??, non mi pare una grande idea (sempre query)

faccio un select case e valorizzo delle label a seconda della lingua??

voi come fareste??
38 messaggi dal 18 luglio 2003
ASP.NET consente di gestire la localizzazione del sito in modo evoluto; in particolare è possibile:
impostare la lingua di default utilizzata dal browser
utilizzare file risorse per localizzare ogni singola pagina senza dover sdoppiare li sito (questa operazione è particolarmente semplice in VS)
--Per impostare una culture:
Imports System.Globalization
Imports System.Threading
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(?it-IT?)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(?it-IT?)
--file risorse
la lingua di default avrà un file di risorse del tipo pagina.rex; le latre lingue del tipo pagina.en.resx (inglese)
--per richiamare il file risorse e utilizzarlo
Imports System.Resources
Protected RM As ResourceManager
RM = New ResourceManager("nomeapplicazione.nomefilerisorsasenzaestensione", GetType(nomeclassepagina).Assembly)
Button.text=RM.GetString(?id?)
--per utilizzarlo in html
<asp:TableCell><%=RM.GetString("tab1")%></asp:TableCell>

Se poi cerchi trovi moltissima documentazione
ma se poi devo modificare qualcosa devo modificarmi sempre il file di risorse....
38 messaggi dal 18 luglio 2003
certamente, ma questo vale anche se metti i testi in un db o in un file di testo; il fle risorse è una dll compilata installata sotto la cartella \bin per la lingua principale e \bin\en per la lingua inglese e così via. questa dll può essere sostituita senza interrompere il servizio di IIS in quanto, se non sbaglio, NET usa delle copie delle dll dei siti e dovrebbe accorgersi del fatto che una di queste è stata modifiicata.
38 messaggi dal 18 luglio 2003
puoi anche dare un occhio qui:
http://www.aspitalia.com/articoli/aspplus/resources.aspx
ebbene sto provando..

usando un .txt

però non reisco a compilare con resgen

il prompt mi da "resgen" non è riconosciuo come comandointerno o esterno....
Occhio che resgen.exe si trova nella cartella
C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin
se non hai i path installati allora devi trovarti in quella directory in dos.

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.