UCRT Nomi delle impostazioni locali, lingue e stringhe di paese/area geografica

È possibile impostare l'argomento locale sulle setlocalefunzioni , _wsetlocale, _create_localee _wcreate_locale in diversi modi. Le impostazioni locali possono essere impostate usando i nomi delle impostazioni locali, le lingue, i codici paese/area geografica e le tabelle codici supportate dall'API NLS di Windows. L'argomento locale accetta una delle forme seguenti:

locale :: "locale-name"
 | "language[_country-region[.code-page]]"
 | ".code-page"
 | "C"
 | ""
 | NULL

Il formato locale-name è una stringa standard IEFT breve, ad esempio en-US per la lingua inglese (Stati Uniti) o bs-Cyrl-BA per la lingua bosniaca (Cirillico, Bosnia ed Erzegovina). Questi formati sono i preferiti. Per un elenco dei nomi di impostazioni locali supportate in base alla versione del sistema operativo Windows, vedere la colonna Language tag (Tag di lingua) della tabella in Appendix A: Product Behavior (Appendice A: comportamento del prodotto) in "[MS-LCID]: Windows Language Code Identifier (LCID) Reference" (Informazioni di riferimento sugli identificatori di lingua (LCID) di Windows). Sono elencate le parti lingua, script e paese supportate dei nomi delle impostazioni locali. Per informazioni sui nomi delle impostazioni locali supportati con ordinamenti non predefiniti, vedere la colonna Nome impostazioni locali in Identificatori di ordinamento. In Windows 10 o versioni successive, sono consentiti i nomi delle impostazioni locali che corrispondono a tag di lingua BCP-47 validi. Ad esempio, jp-US è un tag BCP-47 valido, ma è efficace solo US per le funzionalità delle impostazioni locali.

Lingua[_country-region[.il modulo code-page]] viene archiviato nell'impostazione delle impostazioni locali per una categoria quando viene usata una stringa di lingua, una stringa di lingua e un paese o una stringa di area geografica, per creare le impostazioni locali. Il set di stringhe di lingua supportate è descritto in Stringhe di lingua e l'elenco delle stringhe di paese e area geografica supportate è elencato nelle stringhe Paese/Area geografica. Se la lingua specificata non è associata al paese o all'area geografica specificata, la lingua predefinita per il paese o l'area geografica specificata viene archiviata nell'impostazione delle impostazioni locali. Non è consigliabile usare questo modulo per le stringhe delle impostazioni locali incorporate nel codice o serializzate nell'archiviazione: è più probabile che queste stringhe vengano modificate da un aggiornamento del sistema operativo rispetto al modulo del nome delle impostazioni locali.

La tabella codici è la tabella codici ANSI/OEM associata alle impostazioni locali. La tabella codici viene determinata automaticamente quando le impostazioni locali vengono specificate in base alla lingua o alla lingua e al paese. Il valore speciale .ACP specifica la tabella codici ANSI per il paese/area. Il valore speciale .OCP specifica la tabella codici OEM per il paese/area geografica. Ad esempio, se si specifica "Greek_Greece.ACP" come impostazioni locali, le impostazioni locali vengono archiviate come Greek_Greece.1253 (la tabella codici ANSI per il greco) e, se si specificano "Greek_Greece.OCP" come impostazioni locali, vengono archiviate come Greek_Greece.737 (la tabella codici OEM per il greco). Per altre informazioni sulle tabelle codici, vedere Tabelle codici. Per un elenco delle tabelle codici supportate in Windows, vedere Identificatori della tabella codici.

Se si usa solo la tabella codici per specificare le impostazioni locali, vengono usate la lingua predefinita e il paese/area geografica dell'utente, come indicato da GetUserDefaultLocaleName . Se ad esempio si specifica ".1254" (ANSI - Turco) come valore delle impostazioni locali per un utente configurato per la lingua inglese (Stati Uniti), le impostazioni locali archiviate sono English_United States.1254. Non è consigliabile usare questo modulo, perché potrebbe causare comportamenti incoerenti.

Un locale valore dell'argomento di C specifica l'ambiente ANSI minimo conforme per la conversione C. Le impostazioni locali di C presuppongono che ogni tipo di dati char sia 1 byte e il relativo valore sia sempre minore di 256. Se locale punta a una stringa vuota, le impostazioni locali corrispondono all'ambiente nativo definito in fase di implementazione.

È possibile specificare contemporaneamente tutte le categorie di impostazioni locali per le funzioni setlocale e _wsetlocale utilizzando la categoria LC_ALL . È possibile impostare le categorie sulle stesse impostazioni locali oppure impostare singolarmente ogni categoria utilizzando un argomento delle impostazioni locali con il formato seguente:

LC-ALL-specifier :: locale
 | [LC_COLLATE=locale][;LC_CTYPE=locale][;LC_MONETARY=locale][;LC_NUMERIC=locale][;LC_TIME=locale]

È possibile specificare più tipi di categoria, separati da punti e virgola. I tipi di categoria non specificati usano l'impostazione delle impostazioni locali correnti. Questo frammento di codice, ad esempio, imposta su de-DE le impostazioni locali correnti di tutte le categorie, quindi imposta le categorie LC_MONETARY su en-GB e le categorie LC_TIME su es-ES:

_wsetlocale(LC_ALL, L"de-DE");
_wsetlocale(LC_ALL, L"LC_MONETARY=en-GB;LC_TIME=es-ES");

Supporto UTF-8

Il supporto UTF-8 può essere abilitato usando la tabella codici UTF-8 nella stringa delle impostazioni locali. Per altre informazioni, vedere la sezione relativa al supporto UTF-8 di setlocale.

Vedi anche

Informazioni di riferimento sulla libreria di runtime C
_get_current_locale
setlocale, _wsetlocale
_create_locale, _wcreate_locale
Stringhe di linguaggio
Stringhe paese/area geografica