Terminologia NLS
Questo argomento definisce i termini importanti quando si usano le funzionalità NLS.
Condizioni locali e lingua
La tabella seguente riepiloga le impostazioni locali e i termini della lingua. Vedere anche Impostazioni locali e lingue.
Gruppo di lingue | lingua per programmi non Unicode | Standard e formati | |
---|---|---|---|
Scopo | Fornisce tutti i layout della tastiera, gli editor dei metodi di input (IMEs), i tipi di carattere TrueType, i collegamenti ai tipi di carattere, i file di pacchetto di licenza , i tipi di carattere bitmap e le tabelle di traduzione della tabella codici necessarie dal sistema operativo per un gruppo di lingue. Pertanto influisce su tutte le altre impostazioni di questo elenco. | Determina i tipi di carattere bitmap e le pagine codici OEM, ANSI e Macintosh sono predefiniti per il sistema operativo. Questo linguaggio influisce solo sulle applicazioni che non sono completamente Unicode. Prima di Windows XP, questa lingua è stata denominata "impostazioni locali di sistema". | Determina le impostazioni usate per la formattazione di date, orari, valuta e numeri come impostazione predefinita per ogni utente. Determina anche l'ordine di ordinamento per l'ordinamento del testo. Prima di Windows XP, standard e formati è stato chiamato "impostazioni locali utente". |
Primo set | Installazione | Installazione | Installazione |
Come gli utenti possono cambiare | Opzioni internazionali (elemento Pannello di controllo) Windows XP: Opzioni internazionali e linguistiche (solo amministratori) |
Opzioni internazionali (elemento Pannello di controllo) Windows XP: Opzioni internazionali e linguistiche (solo amministratori) |
Opzioni internazionali (elemento Pannello di controllo) Windows XP: Opzioni internazionali e linguistiche |
Default | Europa occidentale e Stati Uniti e gruppo linguistico necessari per visualizzare la lingua di una versione localizzata. | Lingua della versione localizzata. | Lingua del sistema operativo localizzato. |
Funzione | EnumSystemLanguageGroups | GetSystemDefaultLangID | GetUserDefaultLCID, GetUserDefaultLocaleName |
Impostazioni locali thread | Lingua di input | Lingua dell'interfaccia utente predefinita del sistema | |
---|---|---|---|
Scopo | Determina le impostazioni usate per la formattazione di date, orari, valuta e numeri di grandi dimensioni per un thread. Determina anche l'ordine di ordinamento per l'ordinamento del testo. | È costituito da una lingua e da un metodo di input. | Determina la lingua predefinita dei menu e delle finestre di dialogo, messaggi, file di configurazione (INF) e file della Guida. Windows Vista e versioni successive: Nota come lingua di installazione. Svolge un ruolo più limitato, in gran parte sostituito da lingue dell'interfaccia utente preferite dal sistema. Per altre informazioni, vedere Gestione linguaggio interfaccia utente |
Primo set | Impostazione predefinita per standard e formati | Installazione | Installazione |
Come gli utenti possono cambiare | SetThreadLocale | Opzioni internazionali (elemento Pannello di controllo) Windows XP: Opzioni internazionali e linguistiche |
No |
Default | Standard e formati | Lingua della versione localizzata con il metodo di input predefinito. | Lingua della versione localizzata. |
Funzione | GetThreadLocale | GetKeyboardLayout | GetSystemDefaultUILanguage |
Linguaggio dell'interfaccia utente di sistema, lingue dell'interfaccia utente preferite dal sistema | Lingua dell'interfaccia utente, lingue dell'interfaccia utente preferite dall'utente | Lingue dell'interfaccia utente preferite del thread | |
---|---|---|---|
Scopo | Determinare la lingua dei menu e delle finestre di dialogo, messaggi, file INF e file della Guida per il sistema operativo. Per altre informazioni, vedere Gestione linguaggio interfaccia utente. | Determinare la lingua dei menu e dei dialoghi, dei messaggi e dei file della Guida per l'utente. Per altre informazioni, vedere Gestione linguaggio interfaccia utente. | Windows Vista e versioni successive: Specificare le lingue preferite per i thread dell'applicazione. Per altre informazioni, vedere Gestione linguaggio interfaccia utente. |
Primo set | Impostazione predefinita su NULL | Impostazione predefinita su NULL | Impostazione predefinita su NULL |
Come gli utenti possono cambiare | Opzioni internazionali e della lingua (solo amministratori) |
Opzioni internazionali (elemento Pannello di controllo) Windows XP: Opzioni internazionali e linguistiche |
SetThreadPreferredUILanguages |
Default | Windows Vista e versioni successive: Lingua della versione localizzata, seguita da eventuali fallback. |
Prima di Windows Vista: Lingua della versione localizzata. Windows Vista e versioni successive: Lingua della versione localizzata, seguita da eventuali fallback. |
Elenco Null |
Funzione | GetSystemPreferredUILanguages | GetUserDefaultUILanguage, GetUserPreferredUILanguages | GetThreadPreferredUILanguages |
Elaborare lingue dell'interfaccia utente preferite | |
---|---|
Scopo | Windows 7 e versioni successive: Determinare le lingue preferite per un processo dell'applicazione. Per altre informazioni, vedere Gestione del linguaggio dell'interfaccia utente. |
Primo set | Il valore predefinito è NULL |
Come gli utenti possono cambiare | Opzioni internazionali e della lingua (solo amministratori) |
Default | Windows 7 e versioni successive: Lingua della versione localizzata, seguita da eventuali fallback. |
Funzione | GetProcessPreferredUILanguages, SetProcessPreferredUILanguages |
Tabella codici
L'impossibilità delle tabelle codici a 256 punti di codice per supportare la combinazione di script in un singolo testo era uno dei motivi principali per l'aumento di Unicode. Le tabelle codici rimangono importanti per la scrittura di codice della console, per la gestione di applicazioni legacy o l'esecuzione in versioni precedenti di Windows e per l'interazione con alcuni software non Microsoft non abilitati per Unicode.
Lingua di input
La lingua di input è rappresentata da una variabile di dati per processo che descrive una lingua (ad esempio, greco) e un metodo di input (ad esempio, la tastiera). È possibile installare più lingue di input e l'utente può passare da una lingua all'altra.
Per impostare e recuperare il valore della lingua di input, l'applicazione chiama rispettivamente LoadKeyboardLayout e GetKeyboardLayout. Gli utenti possono aggiungere e rimuovere le lingue di input tramite la scheda Lingue nella parte delle opzioni internazionali e della lingua del Pannello di controllo.
La lingua di input predefinita è la lingua localizzata del sistema operativo ed è l'impostazione attiva quando viene avviata una nuova applicazione (o quando viene aperta una nuova finestra per alcune applicazioni). Il passaggio a una lingua di input diversa viene eseguita in base all'applicazione. In altre parole, due lingue di input diverse possono essere usate in due applicazioni diverse. Ad esempio, un utente può digitare il tedesco usando il layout internazionale della tastiera Stati Uniti, l'inglese usando l'input vocale (con software non Microsoft) e lo spagnolo usando un IME in tre applicazioni diverse.
Linguaggio per programmi non Unicode
La lingua per i programmi non Unicode (in precedenza denominata "impostazioni locali di sistema") determina la tabella codici utilizzata nel sistema operativo per impostazione predefinita. L'impostazione del linguaggio per i programmi non Unicode influisce solo su applicazioni non Unicode, ovvero applicazioni ANSI. L'impostazione della lingua indica a Windows di emulare un sistema operativo non basato su Unicode, localizzato in questa lingua. La modifica della lingua per i programmi non Unicode installa i file di carattere bitmap necessari per supportare applicazioni non Unicode nella lingua specificata. Per consentire all'utente di selezionare una lingua per i programmi non Unicode, è necessario installare il gruppo di lingue appropriato. L'applicazione richiede il supporto dello script per selezionare una lingua per i programmi non Unicode. Il linguaggio per i programmi non Unicode è un'impostazione per sistema e richiede l'implementazione di un riavvio.
A volte non esiste alcuna differenza evidente tra due lingue per i programmi non Unicode. Ad esempio, questo è il caso delle impostazioni locali tedesche (neutrali) e tedesche (Austria). In generale, le impostazioni di un gruppo di lingue sono molto simili e differiscono solo nella tabella codici OEM o MAC.
Un'applicazione ANSI deve controllare la lingua per l'impostazione dei programmi non Unicode durante l'installazione. Usa GetACP o GetOEMCP per recuperare il valore. Non è supportata alcuna funzione per impostare la lingua per i programmi non Unicode. Tuttavia, gli utenti possono modificarlo usando la scheda Avanzate nella parte delle opzioni internazionali e della lingua del Pannello di controllo. Di seguito sono riportati alcuni esempi di linguaggio per le impostazioni dei programmi non Unicode:
- Un utente tedesco che vuole eseguire un'applicazione giapponese progettata per Windows 95 giapponese deve selezionare giapponese come lingua per i programmi non Unicode. Dopo questa selezione, le applicazioni tedesche non Unicode presentano problemi. Ad esempio, i umlauts tedeschi ( ̈) non vengono visualizzati correttamente.
- Un utente tedesco che desidera digitare testo giapponese in un'applicazione tedesca non Unicode deve selezionare giapponese come lingua per i programmi non Unicode. Come nel primo esempio, ciò causa problemi nell'immissione di testo in tedesco in applicazioni non Unicode.
- Un utente arabo che desidera digitare arabo, francese e inglese in un'applicazione araba non Unicode deve selezionare l'arabo come lingua per i programmi non Unicode, perché la tabella codici ANSI araba contiene la maggior parte dei caratteri francesi e tutti i caratteri inglesi.
Gruppo di lingue
Il gruppo di lingue controlla la lingua per programmi non Unicode, standard e formati, lingue di input e lingue dell'interfaccia utente che è possibile selezionare. Per ogni versione localizzata, il gruppo di lingue specificato è il valore predefinito e non può essere rimosso. Ad esempio, Windows installa l'Europa occidentale e Stati Uniti gruppo di lingue per impostazione predefinita. Pertanto, se la versione inglese di Windows è installata in un paese/area geografica non in lingua inglese, l'utente in genere installerà un altro gruppo di lingue.
Quando si aggiunge un gruppo di lingue, Windows copia (ma non attiva) i file di tastiera necessari, Input Method Editors (IMEs), i file di carattere TrueType, i file di carattere bitmap e i file national language support (nls). L'aggiunta di un gruppo di linguaggio aggiunge anche i valori del Registro di sistema per il collegamento dei tipi di carattere e installa i motori di scripting per lingue script complesse (arabo, ebraico, indic e thai).
Oltre all'Europa occidentale e al gruppo linguistico Stati Uniti, esistono 16 altri gruppi linguistici:
Armeno Baltico Europa centrale Cirillico Georgiano Greco Ebraico |
Giapponese Coreano Cinese semplificato Cinese tradizionale Thai Turkic Vietnamita |
Qualsiasi numero e combinazione di gruppi linguistici possono essere installati in qualsiasi sistema operativo. Ad esempio, un utente spagnolo può installare il gruppo di lingue cirillico per lavorare su testi russi. In questo caso, anche un'applicazione di elaborazione delle parole deve supportare il gruppo di lingue cirillico.
Nota
L'aggiunta del gruppo di lingue appropriato non consente automaticamente a un'applicazione di accettare testo. È consigliata l'esecuzione dei test. Ad esempio, le applicazioni non Unicode potrebbero richiedere la modifica della lingua per i programmi non Unicode.
Posizione
Windows XP: Una posizione è un identificatore geografico. È rappresentato da una variabile di dati per utente che definisce il paese o l'area geografica in cui risiede l'utente.
Per impostare il valore, l'applicazione chiama SetUserGeoID. Per recuperare il valore, l'applicazione chiama GetUserGeoID.
Standard e formati
Standard e formati (in precedenza "impostazioni locali utente") è una variabile per utente che determina l'ordinamento predefinito e le impostazioni predefinite per la formattazione di date, ore, valuta e numeri. La variabile viene presentata come lingua (talvolta in combinazione con un paese o un'area geografica), ma non è una lingua stessa. Ad esempio, l'impostazione della variabile Standards and Formats su Ebraico indica che l'utente vuole usare le convenzioni di formattazione dell'ebraico, non necessariamente la lingua ebraica. Inoltre, la variabile Standard e Formati determina la stringa utilizzata per i nomi di giorni e mesi. Ad esempio, se un utente visualizza "25 novembre 1998", la stringa "novembre" può cambiare in base alla variabile Standard e Formati. La modifica della variabile aggiunge automaticamente impostazioni locali di input con le impostazioni predefinite per la lingua.
Per ottenere l'impostazione della variabile Standards and Formats, l'applicazione chiama GetUserDefaultLCID o GetUserDefaultLocaleName. Non è disponibile alcuna funzione NLS per impostare la variabile. Tuttavia, gli utenti possono modificarlo tramite la scheda Opzioni area nella parte delle opzioni internazionali e della lingua del Pannello di controllo.
Un'applicazione deve in genere usare le impostazioni delle variabili Standard e Formati per visualizzare i dati. Tuttavia, un'applicazione che usa impostazioni locali fisse per visualizzare i dati deve passare un identificatore delle impostazioni locali specifico anziché usare LOCALE_USER_DEFAULT.
Impostazioni locali thread
Le impostazioni locali del thread sono rappresentate da una variabile di dati delle impostazioni locali per thread che determina la formattazione di date, ore, valuta e numeri elevati per il thread. L'impostazione predefinita è il valore delle impostazioni locali attualmente selezionate per Standard e formati. Per impostare le impostazioni locali del thread, l'applicazione chiama SetThreadLocale. Per recuperare le impostazioni locali del thread, l'applicazione chiama GetThreadLocale.
Nella maggior parte dei casi le impostazioni locali del thread non devono essere sovrascritte. In genere deve essere usato solo per sincronizzare le impostazioni locali del thread di un'applicazione server con la variabile Standard e Formati di un computer client. Ad esempio, un'applicazione di trading azionario finanziario per la Borsa di New York, che viene utilizzata nelle banche in tutto il mondo, deve visualizzare l'ora, la data e i prezzi delle azioni in Stati Uniti formati. Questa applicazione usa SetThreadLocale per impostare le impostazioni locali del thread su Inglese (Stati Uniti) e quindi usa le funzioni NLS per formattare date, ore e prezzi azionari.
La modifica delle impostazioni locali del thread non influisce su tutte le funzioni API. Pertanto, non è sempre un modo affidabile per eseguire l'override della variabile Standards and Formats. Al contrario, le applicazioni che controllano standard e formati devono usare impostazioni locali fisse per visualizzare i dati, passando un identificatore delle impostazioni locali specifico anziché usare LOCALE_USER_DEFAULT.
Esempio NLS
L'esempio seguente mostra l'interazione tra standard e formati, la lingua per programmi non Unicode, la posizione e la lingua dell'interfaccia utente dell'utente.
Un utente che è nativo del Cile, ma vive nella Stati Uniti ha un computer che esegue l'inglese Windows XP. L'utente imposta la posizione su Stati Uniti per usare un provider di servizi Internet (ISP) per ottenere il meteo per il Stati Uniti. Tuttavia la variabile Standards and Formats è impostata su Spagnolo (Cile) in modo che le informazioni siano formattate in base agli standard cileni. Inoltre, l'utente usa un elaboratore di parole coreano, che è un'applicazione ANSI, in modo che la lingua per i programmi non Unicode sia impostata su coreano (Corea). Per usare l'applicazione, l'utente ha una tastiera inglese e installa anche un IME coreano per supportare una seconda lingua di input. Il collega dell'utente, che condivide il computer ma non è a proprio agio con l'inglese, può impostare la lingua dell'interfaccia utente utente su Spagnolo (Spagna) quando si usa il computer.
Argomenti correlati