ATTENZIONE: Questo sito impiega diversi tipi di cookies. Alla pagina MAGGIORI INFORMAZIONI è possibile avere informazioni aggiuntive. Cliccando su ACCETTO o continuando a navigare sul sito acconsenti al loro utilizzo.
<ottobre 2021>
lunmarmergiovensabdom
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

ASP.NET - Multilingua


Pubblicato il 06/04/2021
Letto 55 volte





Creazione e configurazione del multilingua

  • Creare nel progetto la cartella App_GlobalResources
  • Creare sotto questa cartella due files: yoda.language.resx per la lingua di default (INGLESE) e yoda.language.it-it.resx per la seconda lingua (ITALIANO)
  • Inserire in questi file le coppie KEY - VALUE
  • Creare la classe BasePage sotto riportata
  • Cambiare l'ereditarietà di ogni pagina del sito, facendo ereditare da BasePage
  • Creare in qualche pagine i link che posso reimpostare la lingua. Tali link devono passare il parametro "lang" che può aver valore it o en

Come usare il multilingua nelle pagine .ASPX

  • Esempio:
  • <asp:Label ID="Label1" runat="server" Text="<%$Resources:yoda.language,search%>"></asp:Label>

Come usare il multilingua nelle pagine .CS

  • Esempio:
  • string myStringa = (String)GetGlobalResourceObject("yoda.language", "signoff");

 

Codice della classe BasePage.CS (da copiare e incollare nel progetto

using System;

using System.Collections.Generic;

using System.Globalization;

using System.Linq;

using System.Threading;

using System.Web;

/// <summary>

/// Summary description for BasePage

/// </summary>

public class BasePage : System.Web.UI.Page

{

protected override void InitializeCulture()

{

if (!string.IsNullOrEmpty(Request["lang"]))

{

Session["lang"] = Request["lang"];

}

string lang = Convert.ToString(Session["lang"]);

string culture = string.Empty;

/* // In case, if you want to set vietnamese as default language, then removing this comment

if(lang.ToLower().CompareTo("vi") == 0 ||string.IsNullOrEmpty(culture))

{

culture = "vi-VN";

}

*/

if (lang.ToLower().CompareTo("en") == 0 || string.IsNullOrEmpty(culture))

{

culture = "en-US";

}

if (lang.ToLower().CompareTo("it") == 0)

{

culture = "it-IT";

}

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);

Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);

base.InitializeCulture();

}

}

 

Notifiche