Individuazione e uso delle risorse per una lingua specifica

In Common Language Runtime viene fornito il supporto per il recupero delle risorse specifiche di una lingua che sono inserite nel package e distribuite negli assembly satellite. Gli assembly satellite contengono solo file di risorse o risorse singole come file GIF. Non contengono codice eseguibile.

Nel modello di distribuzione degli assembly satellite viene creata un'applicazione con l'assembly predefinito (assembly principale) e alcuni assembly satellite. Creare il package delle risorse per l'assembly predefinito o di sistema con l'assembly principale e creare un assembly satellite distinto per ciascuna lingua supportata dall'applicazione. Poiché gli assembly satellite non fanno parte dell'assembly principale, è possibile sostituire o aggiornare facilmente le risorse corrispondenti a una lingua specifica senza sostituire l'assembly principale dell'applicazione.

La classe ResourceManager fornisce l'accesso alle risorse specifiche della lingua in fase di esecuzione e controlla la modalità con cui le risorse vengono recuperate dall'applicazione tramite il processo di fallback delle risorse. Per ulteriori informazioni, vedere la sezione "Processo di fallback delle risorse" nell'argomento Creazione del package e distribuzione delle risorse. ResourceManager determina le risorse da recuperare in base alla proprietà CultureInfo.CurrentUICulture del thread corrente. Se, ad esempio, un'applicazione viene compilata con le risorse della lingua inglese predefinita nell'assembly principale e due assembly satellite contenenti le risorse per la lingua francese e tedesca e la proprietà CurrentUICulture è impostata su "de", ResourceManager recupera le risorse della lingua tedesca.

È possibile impostare la proprietà CurrentUICulture in più modi. Tenere presente che la modalità di impostazione di questa proprietà influirà sulla modalità di recupero delle risorse in base alla lingua da parte di ResourceManager.

  • La proprietà CurrentUICulture può essere impostata su una lingua specifica nel codice dell'applicazione, come ad esempio "fr-CA" per il francese parlato in Canada. Quando si imposta esplicitamente CurrentUICulture nel codice, si garantisce che le risorse per tale lingua verranno sempre recuperate a prescindere dalla lingua di sistema o del browser dell'utente. Si supponga che esista un'applicazione che viene compilata con le risorse della lingua inglese predefinita e due assembly satellite contenenti le risorse per la lingua francese e tedesca. Se la proprietà CurrentUICulture è impostata su "de" nel codice dell'applicazione, ResourceManager recupererà le risorse della lingua tedesca, anche se la lingua di sistema dell'utente è impostata sulla lingua francese. Assicurarsi che questo sia il comportamento desiderato prima di impostare questa proprietà esplicitamente nel codice.

    Nelle applicazioni ASP.NET è necessario impostare CurrentUICulture esplicitamente, in quanto è improbabile che l'impostazione sul server corrisponda alle richieste del client in arrivo.

  • La proprietà CurrentUICulture verrà impostata implicitamente se in un'applicazione non è stato specificato un CurrentUICulture. Se CurrentUICulture non è impostato esplicitamente nel codice dell'applicazione, viene impostato dalla funzione GetUserDefaultUILanguage nei prodotti Windows 2000 e Windows XP Multilingual User Interface (MUI) in cui l'utente ha la possibilità di impostare la lingua predefinita. Se non è stata impostata, la lingua dell'interfaccia utente verrà impostata in base alla lingua installata nel sistema, ovvero alla lingua delle risorse del sistema operativo.

    Se un'applicazione è basata sul Web, è possibile impostare CurrentUICulture esplicitamente nel codice dell'applicazione sulla lingua del browser dell'utente.

Per esaminare alcuni esempi della proprietà CurrentUICulture, vedere Uso della proprietà CurrentUICulture.

Per ulteriori informazioni sul recupero delle risorse per una lingua specifica, vedere Recupero di risorse in assembly satellite e Risorse nelle applicazioni ASP.NET.

Vedere anche

Riferimenti

CultureInfo Class
CultureInfo.CurrentUICulture Property

Concetti

Risorse nelle applicazioni

Altre risorse

Codifica e localizzazione