Spring.NET offre anche funzionalità di localizzazione/internazionalizzazione delle risorse. Tutta la gestione avviene tramite l'interfaccia IMessageSource, che è parte integrante dell' ApplicationContext, con i seguenti metodi:
- GetMessage: esistono molti overload di questo metodo i quali permettono di ottenere una risorsa di tipo stringa indicando la chiave, la CultureInfo, ed un'insieme di argomenti che verranno utilizzati come valori di replace per la stringa.
- GetResourceObject: permette di ottenere una quasiasi risorsa, per esempio un immagine. Anche in questo caso esistono più overload del metodo ed i possibili parametri sono la chiave, la CultureInfo.
- ApplyResources: imposta un qualsiasi tipo di risorsa, come parametri accetta il valore da settare, la chiave e la CultureInfo.
Come per altre funzionalità Spring.NET estende quelle offerte dal .NET Framework, in questo specifico caso lo fa rendendo la localizzazione più flessibile, più veloce utilizzando dei sistemi di cache e più facilmente raggiungibile dai vari layer che compongono la nostra applicazione grazie all'integrazione con l' ApplicationContext. Esistono due implementazione dell'interfaccia IMessageSource, StaticMessageSource e ResourceSetMessageSource, la prima permette di aggiungere risorse in maniera programmatica, la seconda invece utilizzata i file di risorse (.resx), questa implementazione è sicuramente quella più utile ed utilizzata. Vediamo un esempio di utilizzo della prima implementazione, basta creare una Console Application ed aggiungere il seguente codice nel Main:
Technorati Tag:
Spring.NET