Nazwy lokalne, języki i ciągi kraj/region
Argument locale funkcji setlocale i _create_locale można ustawić przy użyciu nazwy ustawień regionalnych, języków, kodów kraju/regionu i stron kodowych obsługiwanych przez system Windows API NLS.Argument locale ma następującą postać:
locale :: "locale_name"
| "language[_country_region[.code_page]]"
| ".code_page"
| "C"
| ""
| NULL
Forma nazwy ustawień regionalnych — na przykład, en-US dla języka angielskiego (Stany Zjednoczone) lub bs-Cyrl-BA dla bośniackiego (cyrylica, Bośnia i Hercegowina) — jest preferowana.Zestaw nazw ustawień regionalnych jest opisany w Locale Names.Aby uzyskać listę nazw ustawień regionalnych obsługiwanych przez wersję systemu operacyjnego Windows, zobacz kolumnę Culture NameNational Language Support (NLS) API Reference.Ten zasób zawiera listę obsługiwanych części nazw ustawień regionalnych: języka, alfabetu i regionu.Aby uzyskać informacje na temat obsługiwanych nazw ustawień regionalnych, które mają kolejność sortowania inną niż domyślna, zobacz kolumnę Locale name (Nazwa ustawienia lokalnego) w Sort Order Identifiers (Identyfikatory kolejności sortowania).
Forma language[_country_region[.code_page]] jest przechowywana w ustawieniach regionalnych dla kategorii, gdy ciąg języka lub ciąg języka i ciąg kraju/regionu są używane do tworzenia ustawień regionalnych.Zestaw obsługiwanych ciągów języka jest opisany w Ciągi języka, a lista obsługiwanych ciągów kraju/regionu znajduje się w Ciągi kraj/region.Jeśli określony język nie jest skojarzony z określonym krajem/regionem, język domyślny dla określonego kraju/regionu jest przechowywany w ustawieniach regionalnych.Nie zaleca się tej formy dla ciągów ustawień regionalnych osadzonych w kodzie lub szeregowanych w pamięci, ponieważ jest bardziej prawdopodobne, że aktualizacja systemu operacyjnego je zmieni, w przeciwieństwie do formy nazwy ustawień regionalnych.
Strona kodowa to strona kodowa ANSI/OEM skojarzona z ustawieniami regionalnymi.Strona kodowa jest określana automatycznie po określeniu ustawień regionalnych za pomocą wyłącznie języka lub języka i kraju/regionu.Specjalna wartość .ACP określa stronę kodową ANSI dla kraju/regionu.Specjalna wartość .OCP określa stronę kodową OEM dla kraju/regionu.Na przykład, jeśli określisz „Greek_Greece.ACP” jako ustawienie regionalne, ustawienie regionalne jest przechowywane jako Greek_Greece.1253 (strona kodowa ANSI dla języka greckiego), a jeśli określisz „Greek_Greece.OCP” jako ustawienie regionalne, jest przechowywane jako Greek_Greece.737 (strona kodowa OEM dla języka greckiego).Aby uzyskać więcej informacji dotyczących stron kodowych, zobacz Strony kodowe.Aby uzyskać listę stron kodowych obsługiwanych w systemie Windows, zobacz Code Page Identifiers (Identyfikatory stron kodowych).
Jeśli do określenia ustawień regionalnych używasz tylko strony kodowej, używany jest domyślny język i kraj/region.Na przykład, jeśli określisz „.1254” (turecki ANSI) jako ustawienie regionalne w systemie, który jest skonfigurowany dla języka angielskiego (Stany Zjednoczone), ustawienie regionalne, który jest przechowywane, to English_United States.1254.Nie zaleca się tej formy, ponieważ może to prowadzić do niespójnego zachowania.
Wartość localeC określa minimalne środowisko dla translacji C, odpowiadające ANSI.Ustawienie regionalne C zakłada, że każdy typ danych char jest jednobajtowy i jego wartość jest zawsze mniejsza niż 256.Jeśli locale wskazuje na pusty ciąg, ustawienia regionalne są natywnym środowiskiem, zdefiniowanym w implementacji.
Można określić wszystkie kategorie ustawień regionalnych jednocześnie dla funkcji setlocale i _wsetlocale za pomocą kategorii LC_ALL.Kategorie można ustawić na te same ustawienia regionalne lub każdą kategorię można ustawić indywidualnie przy użyciu argumentu ustawień regionalnych, który ma tę formę:
LC_ALL_specifier :: locale
| [LC_COLLATE=locale][;LC_CTYPE=locale][;LC_MONETARY=locale][;LC_NUMERIC=locale][;LC_TIME=locale]
Można określić wiele typów kategorii, oddzielając je średnikami.Typy kategorii, które nie są określone, używają bieżących ustawień regionalnych.Na przykład, ten kod ustawia bieżące ustawienia regionalne dla wszystkich kategorii na de-DE, a następnie ustawia kategorie LC_MONETARY na en-GB i LC_TIME na es-ES:
_wsetlocale(LC_ALL, L"de-DE");
_wsetlocale(LC_ALL, L"LC_MONETARY=en-GB;LC_TIME=es-ES");
Zobacz też
Informacje
_create_locale, _wcreate_locale