Se parliamo di ASP.NET io ho creato una semplica applicazione WebApplication1 con una webform WebForm1 che ha una etichetta e 2 bottoni: il primo mostra un messaggio in inglese, il secondo in italiano. Ho creato 2 file risorse (estensione .resx). Il primo contiene valori in inglese e si chiama Resource.resx. Il secondo contiene le risorse in italiano e deve chiamarsi Resource.it-IT.resx. Tali file stanno direttamente nella root dell'applicazione ASP.NET, tanto vengono compilati insieme all'assembly WebApplication1.dll.
Il codice del click sui 2 bottoni (Funzia alla grande!)
--------------------------------------------------------------------
private void Button1_Click(object sender, System.EventArgs e)
{
//Imposta culture per la pagina corrente
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
//crea oggetto ResourceManager per prelevare le risorse dagli assembly satelliti
//in base alla culture impostata
ResourceManager RM = new ResourceManager("WebApplication1.Resource",typeof( WebForm1).Assembly);
Label1.Text=RM.GetString("Label");
}
private void Button2_Click(object sender, System.EventArgs e)
{
//Imposta culture per la pagina corrente
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("it-IT");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("it-IT");
//crea oggetto ResourceManager per prelevare le risorse dagli assembly satelliti
//in base alla culture impostata
ResourceManager RM = new ResourceManager("WebApplication1.Resource",typeof( WebForm1).Assembly);
Label1.Text=RM.GetString("Label");
}