Utilisation des paramètres régionaux personnalisés
Cette rubrique fournit des instructions pour gérer les paramètres régionaux personnalisés dans vos applications. Il est préférable de préparer tout votre code source en tenant compte de ces considérations, car votre application ne contrôle pas si les paramètres régionaux personnalisés sont installés sur le système d’exploitation.
Gérer LOCALE_STIME constante correctement
Si vous avez une application plus ancienne qui utilise GetLocaleInfo pour obtenir le séparateur d’heure obsolète indiqué par LOCALE_STIME, l’application peut ne pas analyser le format d’heure. N’oubliez pas que le caractère qui sépare les heures des minutes est distinct du caractère qui sépare les minutes des secondes.
Notes
Lorsque vous programmez des paramètres régionaux personnalisés, n’oubliez pas qu’ils sont inhabituels. Pratiquement tous les champs disponibles pour NLS doivent faire face à un comportement inhabituel. Par exemple, le format d’heure 12H34'12'' est légitime et généralement compréhensible. Pourtant, de nombreuses applications font des hypothèses sur les séparateurs de temps qui peuvent rompre la longueur des mémoires tampons ou afficher des champs.
Distinguer les paramètres régionaux supplémentaires
Tous les paramètres régionaux supplémentaires utilisent la constante LOCALE_CUSTOM_UNSPECIFIED pour l’identificateur de paramètres régionaux. En règle générale, GetLocaleInfo ne peut pas faire la distinction entre les paramètres régionaux supplémentaires, mais GetLocaleInfoEx le peut, car il utilise des noms de paramètres régionaux au lieu d’identificateurs régionaux. Votre application peut récupérer des informations sur des paramètres régionaux supplémentaires spécifiques uniquement lorsque ces paramètres régionaux sont les paramètres régionaux de l’utilisateur actuellement sélectionnés. Ensuite, l’application peut appeler GetLocaleInfo et passer la constante LOCALE_USER_DEFAULT comme identificateur de paramètres régionaux.
Gérer les paramètres régionaux de remplacement
Pour préserver la fiabilité de Windows, n’oubliez pas qu’un paramètre régional de remplacement pris en charge par votre application ne peut pas modifier l’identificateur des paramètres régionaux remplacés. Les paramètres régionaux de remplacement ne peuvent pas non plus modifier les propriétés de tri de Windows.
Bien qu’un paramètre régional de remplacement puisse modifier le calendrier par défaut, il doit conserver la valeur par défaut d’origine quelque part dans la liste des calendriers disponibles. Par exemple, les paramètres régionaux thaïlandais (Thaïlande) utilisent le calendrier bouddhiste thaï comme valeur par défaut. Un administrateur peut créer des paramètres régionaux de remplacement qui utilisent le calendrier localisé grégorien. Toutefois, la liste des calendriers disponibles continue à contenir une entrée pour le calendrier bouddhiste thaïlandais.
Pour les paramètres régionaux de remplacement, votre application doit généralement consulter des informations spécifiques aux paramètres régionaux au lieu de tenter un « raccourci » basé sur la connaissance d’un certain paramètre régional. Par exemple, lorsque GetThreadLocale récupère les paramètres régionaux actuels en anglais (États-Unis), il peut s’agir d’un paramètre régional de remplacement qui doit être autorisé à prendre effet.
Personnaliser les calendriers
Vos applications peuvent personnaliser les noms des jours et des mois pour les calendriers grégoriens, mais pas pour les calendriers non grégoriens. De même, NLS ne prend pas en charge la création de calendriers personnalisés définis par l’utilisateur. Pour plus d’informations, consultez Date et Calendrier.
Gérer les séquences de tri
Un paramètre régional supplémentaire peut utiliser n’importe quelle séquence de tri définie par Microsoft. Un paramètre régional de remplacement doit utiliser la même séquence de tri que les paramètres régionaux qu’il remplace. NLS ne prend pas en charge la création de séquences de tri définies par l’utilisateur. Pour plus d’informations, consultez Gestion du tri dans vos applications.
Localiser les informations de paramètres régionaux personnalisés
NLS ne fournit pas de mécanisme pour localiser les informations de paramètres régionaux personnalisés. Ainsi, la constante LOCALE_SLANGUAGE ou LOCALE_SLOCALIZEDLANGUAGENAME utilisée comme identificateur de paramètres régionaux pour un paramètre régional personnalisé récupère toujours les valeurs associées à LOCALE_SNATIVELANGNAME ou LOCALE_SNATIVELANGUAGENAME.
Rubriques connexes