ASP.Net  »  Articoli  »  ASP.NET 4 

Creare un sito multilingua con ASP.NET 4

di: Simone Moretti     26 Maggio 2010

Presentando le novità di ASP.NET 4.0, abbiamo già accennato ad alcune migliorie introdotte in questa versione del .NET Framework. Due di queste sono le proprietà MetaDescription e MetaKeywords della classe Page. Il valore aggiunto sta nel fatto che possiamo inizializzare e modificare queste proprietà dinamicamente da codice.

In questo articolo vedreomo come sfruttare queste proprietà per applicare in modo semplice e veloce la localizzazione alle meta-informazioni delle pagine.

Chi non avesse molta dimestichezza con questo argomento, può leggere questo articolo di Angelo Ranucci, che spiega molto bene cosa sia la 'localizzazione' e come applicarla alle pagine web in ASP.NET 2.0.

In breve il meccanismo della Localizzazione ci permette di creare delle pagine Web che cambiano i propri contenuti in base alla lingua dell'utente e questo avviene in fase di esecuzione della pagina.

In questo articolo riprendiamo questo concetto di localizzazione e mostriamo come risulta più semplice e rapido implementarlo con la versione 4 di ASP.NET e, per farlo ci serviremo di esempi che abbiamo raccolto in una applicazione web realizzata con Visual Studio 2010.

Esempio di Localization

Supponiamo di essere una società inglese che commercia prodotti sul territorio nazionale, in Italia ed in Spagna. Vogliamo realizzare il nostro sito di commercio elettronico e vogliamo presentare i nostri prodotti nella lingua di appartenenza dell'utente che si collega.

Figura 1. Pagina di benvenuto in tre lingue

Pagina di benvenuto in tre lingue

La cosa interessante è il poter modificare a runtime tutte le proprietà di un controllo web e non solo la proprietà Text come si potrebbe pensare: nell'esempio oltre alle proprietà Text di etichette e bottoni viene modificata anche la proprietà ImgUrl di una immagine in modo da caricare la bandiera del paese rappresentativo della lingua dell'utente.

Parlando di localizzazione possiamo distinguere tra:

  • Localizzazione implicita, in questo caso contrassegnamo i controlli che vogliamo localizzare con dei metadati e definiamo le traduzioni per le loro proprietà all'interno di file dei risorse associati alla pagina. Quando il server trova queste definizioni le applica automaticamente alle pagine corrispondenti
  • Localizzazione esplicita, in questo caso esplicitiamo il punto in cui inserire un elemento localizzato con un tag specifico, in cui indichiamo un file di risorsa da interpellare e la chiave corrispondente all'elemento desiderato

Dalla pagina successiva vediamo come funzionano più in dettaglio e in quali casi utilizzare l'una o l'altra soluzione.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto