Uso delle impostazioni locali personalizzate

Questo argomento fornisce alcune istruzioni per la gestione delle impostazioni locali personalizzate nelle applicazioni. È consigliabile preparare tutto il codice sorgente con queste considerazioni, perché l'applicazione non controlla se le impostazioni locali personalizzate vengono installate nel sistema operativo.

Gestire correttamente LOCALE_STIME costante

Se si dispone di un'applicazione precedente che usa GetLocaleInfo per ottenere il separatore temporale obsoleto indicato da LOCALE_STIME, l'applicazione non può analizzare il formato ora. Tenere presente che il carattere che separa le ore dai minuti è distinto dal carattere che separa i minuti dai secondi.

Nota

Quando si programma per le impostazioni locali personalizzate, tenere presente che sono insolite. Praticamente ogni campo disponibile per NLS deve affrontare un comportamento insolito. Ad esempio, il formato ora 12H34'12'' è legittimo e generalmente comprensibile. Molte applicazioni fanno tuttavia ipotesi sui separatori di tempo che possono interrompere le lunghezze del buffer o visualizzare i campi.

 

Distinguere le impostazioni locali supplementari

Tutte le impostazioni locali supplementari usano la costante LOCALE_CUSTOM_UNSPECIFIED per l'identificatore delle impostazioni locali. Come regola, GetLocaleInfo non può distinguere tra le impostazioni locali supplementari, ma GetLocaleInfoEx può perché usa i nomi delle impostazioni locali anziché gli identificatori delle impostazioni locali. L'applicazione può recuperare informazioni su una determinata impostazione locale supplementare solo quando le impostazioni locali sono le impostazioni locali dell'utente attualmente selezionate. L'applicazione può quindi chiamare GetLocaleInfo e passare la costante LOCALE_USER_DEFAULT come identificatore delle impostazioni locali.

Gestire le impostazioni locali sostitutive

Per mantenere l'affidabilità di Windows, tenere presente che le impostazioni locali sostitutive supportate dall'applicazione non possono modificare l'identificatore delle impostazioni locali sostituite. Nessuna delle impostazioni locali sostitutive modifica le proprietà di ordinamento di Windows.

Anche se le impostazioni locali sostitutive possono modificare il calendario predefinito, deve conservare il valore predefinito originale in un punto qualsiasi dell'elenco dei calendari disponibili. Ad esempio, le impostazioni locali thai (Thailandia) usano il calendario buddista thai come impostazione predefinita. Un amministratore può creare impostazioni locali sostitutive che usano il calendario localizzato gregoriano. Tuttavia, l'elenco dei calendari disponibili continua a contenere una voce per il calendario buddista thai.

Per le impostazioni locali sostitutive, l'applicazione deve in genere consultare informazioni specifiche delle impostazioni locali anziché tentare un "collegamento" in base alla conoscenza di una determinata impostazione locale. Ad esempio, quando GetThreadLocale recupera le impostazioni locali correnti come inglese (Stati Uniti), potrebbe effettivamente essere una locale sostitutiva che dovrebbe essere consentita per l'effetto.

Personalizzare i calendari

Le applicazioni possono personalizzare i nomi dei giorni e dei mesi per i calendari gregoriani, ma non per i calendari non gregoriani. Analogamente, NLS non supporta la creazione di calendari personalizzati definiti dall'utente. Per altre informazioni, vedere Data e Calendario.

Gestire sequenze di ordinamento

Le impostazioni locali supplementari possono usare qualsiasi sequenza di ordinamento definita da Microsoft. Le impostazioni locali sostitutive devono usare la stessa sequenza di ordinamento delle impostazioni locali sostituite. NLS non supporta la creazione di sequenze di ordinamento definite dall'utente. Per altre informazioni, vedere Gestione dell'ordinamento nelle applicazioni.

Localizzare le informazioni sulle impostazioni locali personalizzate

NLS non fornisce un meccanismo per la localizzazione delle informazioni sulle impostazioni locali personalizzate. Pertanto, la costante LOCALE_SLANGUAGE o LOCALE_SLOCALIZEDLANGUAGENAME utilizzata come identificatore delle impostazioni locali per le impostazioni locali personalizzate recupera sempre i valori associati a LOCALE_SNATIVELANGNAME o LOCALE_SNATIVELANGUAGENAME.

Uso del supporto per la lingua nazionale

Impostazioni locali personalizzate

Data e calendario

Gestione dell'ordinamento nelle applicazioni