...ed il NameSpace System.Globalizazion con la classe ResourceManager. (ti rispondo x la vers. 1.1 ma non credo sia cambiato granchè)
In poche parole, a seconda della lingua dell'utente corrente, cioe':
codice:
Imports System.Globalization
Imports System.Resources
Imports System.Threading
Dim lingua as String = Request.UserLanguages(0)
dovresti settare, nel Page_Load :
1 - La formattazione delle date, dei validators e delle valute, con :
codice:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lingua)
2 - La formattazione degli elementi della User Interface (UI), caricata dai file ".resx" relativi, con:
codice:
Thread.CurrentThread.CurrentUICulture = New CultureInfo(lingua)
la proprietà CurrentUICulture "cerca" l'assembly di risorse (il file resx, appunto) e provvede alla formattazione di tutti gli elementi HTML sulla pagina dichiarati come HtmlGenericControl, ad esempio :
codice:
aspx:
<span id="titolopagina" runat=server>
VB:
protected withevents titolopagina as System.Web.Ui.HtmlGenericControl
Per la formattazione degli elementi cosi' dichiarati, infine, non ti resta che caricare le risorse memorizzate nei .resx :
codice:
Protected risorse as new ResourceManager("nomeProgetto.NomeBaseFileRisorse", GetType(NomeClassePagina).Assembly)
..ed assegnarle ai relativi elementi presenti sulla pagina:
codice:
titolopagina.InnerHtml = risorse.GetString("NomeClassePagina.titolopagina")
(nel file .resx per l'italiano, ad esempio ci sara' nella colonna "name": "webform1.titolopagina" e nella colonna "value": "Benvenuto nella mia applicazione")
so che sembra un casino ma ci devi solo smanettare un po'....