Gestione del linguaggio dell'interfaccia utente
Multilingual User Interface (MUI) consente alle applicazioni di gestire le lingue dell'interfaccia utente in due modi. Un'applicazione può usare un approccio semplice alla gestione del linguaggio per impostazione predefinita alle impostazioni della lingua del sistema operativo. In alternativa, l'applicazione può supportare le proprie lingue da cui l'utente può selezionare. L'API MUI consente anche all'applicazione di accedere direttamente alle lingue e agli elenchi di lingue supportati dal sistema operativo e gestiti dal caricatore di risorse. Nella parte restante di questo argomento vengono definiti i linguaggi supportati dal sistema e il meccanismo di fallback del linguaggio.
Lingue gestite dal sistema operativo
Lingua/Installazione predefinita dell'interfaccia utente del sistema
La lingua dell'interfaccia utente predefinita del sistema è la lingua della versione localizzata usata per configurare Windows. Tutti i menu, le finestre di dialogo, i messaggi di errore e i file della Guida sono rappresentati in questa lingua, tranne quando l'utente seleziona una lingua diversa.
In Windows Vista e versioni successive, la lingua dell'interfaccia utente predefinita del sistema è nota come "lingua di installazione" e svolge un ruolo più limitato. Ai fini della maggior parte dei casi, viene sostituito dalle lingue dell'interfaccia utente preferite dal sistema. Tuttavia, in determinati contesti è utile avere un unico linguaggio di installazione che è sempre noto per essere completamente supportato.
Nota
Le applicazioni Windows, ad esempio Paint, Blocco note, Wordpad e opzioni di menu, verranno comunque visualizzate nella lingua dell'interfaccia utente predefinita del sistema dopo una distribuzione MUI.
Non è disponibile alcuna funzione MUI per impostare la lingua dell'interfaccia utente predefinita del sistema. Per recuperare questo linguaggio, l'applicazione può chiamare GetSystemDefaultUILanguage.
Lingua dell'interfaccia utente di sistema
Il sistema operativo definisce la lingua dell'interfaccia utente di sistema come lingua dell'interfaccia utente che può essere impostata da un amministratore nella scheda avanzate della parte opzioni internazionali e linguistiche del Pannello di controllo. Il sistema operativo usa questa lingua se l'utente corrente non ha effettuato impostazioni di lingua specifiche o se non è stato effettuato l'accesso ad alcun account attivo. La lingua può essere modificata solo se nel computer è installato più di una lingua dell'interfaccia utente.
Nota
Per visualizzare l'effetto della modifica della lingua, è necessario riavviare il sistema operativo per tutti gli utenti e i servizi.
Non è disponibile alcuna funzione MUI per impostare la lingua dell'interfaccia utente di sistema. Per recuperare questo valore, un'applicazione destinata a Windows Vista e versioni successive può chiamare GetSystemPreferredUILanguages e ottenere la prima lingua nell'elenco delle lingue dell'interfaccia utente preferite dal sistema. Le applicazioni destinate ai sistemi operativi pre-Windows Vista non possono usare GetSystemPreferredUILanguages e devono basarsi sul presupposto che la lingua dell'interfaccia utente del sistema sia sempre la stessa della lingua dell'interfaccia utente predefinita del sistema.
Lingua dell'interfaccia utente utente
La lingua dell'interfaccia utente utente determina la lingua dell'interfaccia utente usata per menu, finestre di dialogo, file della Guida e così via. Può essere impostata dall'utente corrente nella scheda lingua della parte opzioni internazionali e della lingua del Pannello di controllo. Questa lingua può essere modificata solo se nel computer è installata più lingue dell'interfaccia utente. Si noti che l'utente dovrà disconnettersi e quindi accedere di nuovo per visualizzare l'effetto. Ad esempio, una multinazionale vuole distribuire Windows in tutte le sue filiali. L'azienda crea un processo di installazione globale, che installa la versione inglese di Windows in tutti i client, indipendentemente dalla posizione. Allo stesso tempo, installa moduli linguistici specifici a seconda dell'unità organizzativa di cui un computer è membro. Quando l'utente accede per la prima volta a un sistema operativo appena installato, Windows viene visualizzato come versione localizzata.
In Windows Vista e versioni successive la lingua dell'interfaccia utente è la prima lingua nell'elenco delle lingue preferite dell'interfaccia utente. Si noti che le lingue di fallback possono essere usate se determinate risorse non sono disponibili in questa lingua.
Nei sistemi operativi pre-Windows Vista, la lingua dell'interfaccia utente utente è in genere uguale alla lingua dell'interfaccia utente predefinita del sistema. Tuttavia, per Windows MUI, le due lingue possono essere diverse.
Per recuperare la lingua dell'interfaccia utente utente, un'applicazione può chiamare GetUserDefaultUILanguage o GetUserPreferredUILanguages. L'applicazione non può modificare la lingua dell'interfaccia utente, perché non esiste alcuna funzione per impostarla.
Elenchi di lingue gestiti dal sistema operativo
Elenco lingue dell'interfaccia utente preferite del sistema
Il caricatore di risorse gestisce un elenco di lingue dell'interfaccia utente preferite dal sistema. Inclusi in questo elenco sono lingue preferite dal sistema operativo per le proprie risorse, ad esempio menu e finestre di dialogo, messaggi, file INF e file della Guida. L'elenco è costituito dalla lingua dell'interfaccia utente predefinita del sistema e dalla lingua dell'interfaccia utente di sistema e dai relativi fallback. Un'applicazione può recuperare le lingue dell'interfaccia utente preferite dal sistema chiamando GetSystemPreferredUILanguages.
Elenco lingue dell'interfaccia utente preferite dall'utente
Il caricatore di risorse usa un elenco di lingue dell'interfaccia utente preferite dall'utente che include le lingue preferite dall'utente. Il caricatore di risorse usa le risorse corrispondenti alle lingue di questo elenco, se disponibili, per un determinato thread di applicazione. Queste lingue hanno la precedenza su tutte le preferenze di sistema. Per recuperare le lingue dell'interfaccia utente preferite dall'utente, l'applicazione può chiamare GetUserPreferredUILanguages.
Elenco lingue preferite dell'interfaccia utente elabora
In Windows Vista e versioni successive il caricatore di risorse gestisce un elenco di lingue preferite dell'interfaccia utente costituito da un massimo di cinque lingue valide impostate da un processo in esecuzione per un'applicazione MUI. Le lingue possono essere impostate dall'applicazione con una chiamata a SetProcessPreferredUILanguages. L'applicazione può recuperare le lingue chiamando GetProcessPreferredUILanguages.
Elenco lingue preferite dell'interfaccia utente thread
In Windows Vista e versioni successive, il caricatore di risorse usa un elenco di lingue preferite dell'interfaccia utente thread costituito da un massimo di cinque lingue valide impostate da un thread in un processo in esecuzione per un'applicazione MUI. Queste lingue vengono usate per personalizzare le lingue dell'interfaccia utente dell'applicazione e renderle diverse dalla lingua del sistema operativo. L'elenco delle lingue preferite dell'interfaccia utente thread si basa sulle lingue dell'interfaccia utente preferite dall'utente, sulle lingue dell'interfaccia utente preferite dal sistema e sulla lingua predefinita dell'interfaccia utente del sistema.
Per impostare le lingue dell'interfaccia utente preferite del thread, l'applicazione deve chiamare SetThreadPreferredUILanguages. Per recuperare queste lingue, l'applicazione chiama GetThreadPreferredUILanguages.
Rappresentazione in linguaggio neutro
Una lingua neutra è rappresentata solo come lingua, senza area geografica o impostazioni locali. Ad esempio, la rappresentazione neutra della lingua inglese (Canada), en-CA, è rappresentata come "en". Anche se una lingua neutra non è associata agli aspetti di un'area o delle impostazioni locali, è possibile associarla a un set di risorse. In genere, una risorsa di lingua neutra si basa sull'uso nell'area più diffusa per la lingua.
Si supponga, ad esempio, che l'applicazione MUI localizza le risorse della lingua tedesca per il tedesco (Svizzera) rappresentato come de-CH e tedesco (Austria) rappresentate come de-AT, mentre si crea un set completo di risorse per il tedesco (Germania) rappresentato come de-DE. È necessario prendere decisioni per questa applicazione considerando l'intero file di risorse. Se l'applicazione duplica le risorse de-DE come risorse della lingua neutre, deve fornire una lingua di fallback per il caricatore di risorse. Se il caricatore non trova un file di risorse specifico della lingua per de-CH o per de-AT, viene eseguito il fallback alle risorse "de" indipendenti dalla lingua. Queste risorse sono probabilmente più appropriate rispetto alle risorse per una lingua completamente diversa, ad esempio inglese (Stati Uniti), che sono le uniche altre possibili fallback.
Come un altro esempio, un'applicazione potrebbe non localizzare affatto per Il Potrei. Tuttavia, il supporto di una preferenza di lingua inglese (Belize), rappresentato come en-BZ, consente all'applicazione di eseguire il fallback alle risorse "en".
Fallback del linguaggio nel caricatore di risorse
Windows Vista e versioni successive organizzano le impostazioni della lingua dell'interfaccia utente in un elenco di lingue di fallback preordinato usato dal caricatore di risorse. Per formare l'elenco, il sistema operativo combina diverse lingue, nell'ordine indicato:
Lingue dell'interfaccia utente preferite del thread, costituite dalla lingua dell'interfaccia utente del thread e dalla sua forma neutra. Esempi sono fr-FR per il francese (Francia) e la sua forma neutra "fr" e es-ES per spagnolo (Spagna) e la sua forma neutra "es".
Elaborare le lingue preferite dell'interfaccia utente, costituite dalla lingua dell'interfaccia utente del processo e dal formato neutro. Un esempio è de-DE per il tedesco (Germania) e la sua forma neutra "de".
Lingua dell'interfaccia utente utente e forma neutra. Un esempio è ja-JP per il giapponese (Giappone) e la sua forma neutra "ja".
Lingua dell'interfaccia utente di sistema e forma neutra. Un esempio è it-IT per l'italiano (Italia) e la sua forma neutra "it".
Nota
Questa lingua è inclusa nell'elenco di fallback solo quando la lingua dell'interfaccia utente non è impostata.
Lingua dell'interfaccia utente predefinita del sistema e forma neutra. Un esempio è es-ES per spagnolo (Spagna) e la sua forma neutra "es".
Di seguito viene illustrato l'elenco di fallback unito. Si noti che la duplicazione delle lingue, ad esempio, es-ES ed es, viene eliminata. Poiché l'esempio imposta la lingua dell'interfaccia utente su ja-JP, la lingua dell'interfaccia utente di sistema non viene visualizzata nell'elenco di fallback unito.
fr-FR, fr, es-ES, es, de-DE, de, ja-JP, ja
Quando si caricano risorse per un'applicazione MUI, il caricatore di risorse tenta di selezionare uno dei file corrispondenti all'elenco delle lingue preferite dell'interfaccia utente thread per il thread di applicazione attualmente in esecuzione. Se il caricatore di risorse non riesce a trovare una corrispondenza diretta tra una lingua selezionata e la prima risorsa specifica della lingua nell'elenco di fallback unito, controlla le lingue successive nell'elenco fino a quando non trova un fallback accettabile.
Se il caricatore di risorse non trova alcun file necessario, deve usare un linguaggio di fallback "valido garantito". Per la tecnologia delle risorse MUI, il caricatore di risorse determina la lingua di fallback dai dati di configurazione delle risorse forniti. Per altre informazioni, vedere Gestione risorse MUI.
Argomenti correlati