Nazwy ustawień regionalnych UCRT, języki i ciągi kraj/region

Argument można ustawić locale na setlocalefunkcje ,_wsetlocale , _create_localei _wcreate_locale na kilka sposobów. Ustawienia regionalne można ustawić przy użyciu nazw ustawień regionalnych, języków, kodów kraju/regionu i stron kodu obsługiwanych przez interfejs API równoważenia obciążenia sieciowego systemu Windows. Argument locale przyjmuje jedną z następujących form:

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

Formularz nazwy ustawień regionalnych to krótki, ustandaryzowany ciąg IETF, en-US na przykład dla języka angielskiego (Stany Zjednoczone) lub bs-Cyrl-BA bośniackiego (cyrylica, Bośnia i Hercegowina). Preferowane są te formularze. Aby uzyskać listę obsługiwanych nazw ustawień regionalnych według wersji systemu operacyjnego Windows, zobacz kolumnę Tag języka tabeli w dodatku A: Zachowanie produktu w [MS-LCID]: Dokumentacja identyfikatora kodu języka systemu Windows (LCID). Ten zasób zawiera listę obsługiwanych części nazw ustawień regionalnych: języka, alfabetu i regionu. Aby uzyskać informacje o obsługiwanych nazwach ustawień regionalnych, które mają inne niż domyślne zamówienia sortowania, zobacz kolumnę Nazwa ustawień regionalnych w temacie Sortuj identyfikatory kolejności. W systemie Windows 10 lub nowszym dozwolone są nazwy ustawień regionalnych, które odpowiadają prawidłowym tagom języka BCP-47 . Na przykład jp-US jest prawidłowym tagiem BCP-47, ale skutecznie jest przeznaczony tylko US dla funkcji ustawień regionalnych.

Język[_country-region[.Kod-page]] formularz jest przechowywany w ustawieniach regionalnych dla kategorii, gdy ciąg języka, ciąg języka i kraj lub ciąg regionu, jest używany do tworzenia ustawień regionalnych. Zestaw obsługiwanych ciągów językowych jest opisany w sekcji Ciągi językowe, a lista obsługiwanych ciągów kraju i regionu znajduje się w ciągach kraju/regionu. Jeśli określony język nie jest skojarzony z określonym krajem lub regionem, domyślny język dla określonego kraju lub regionu jest przechowywany w ustawieniu ustawień regionalnych. Nie zalecamy tego formularza dla ciągów ustawień regionalnych osadzonych w kodzie lub serializowanym w magazynie: te ciągi są bardziej prawdopodobne, aby zostały zmienione przez aktualizację systemu operacyjnego niż formularz 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. Wartość specjalna .ACP określa stronę kodową ANSI dla kraju/regionu. Wartość .OCP specjalna określa stronę kodów producenta OEM dla kraju/regionu. Jeśli na przykład określisz "Greek_Greece.ACP" jako ustawienia regionalne, ustawienia regionalne są przechowywane jako Greek_Greece.1253 (strona kodowa ANSI dla języka greckiego), a jeśli zostanie określona "Greek_Greece.OCP" jako ustawienia regionalne, będzie ona przechowywana jako Greek_Greece.737 (strona kodowa producenta OEM dla języka greckiego). Aby uzyskać więcej informacji na temat stron kodu, zobacz Strony kodu. Aby uzyskać listę obsługiwanych stron kodu w systemie Windows, zobacz Identyfikatory stron kodowych.

Jeśli używasz tylko strony kodowej do określenia ustawień regionalnych, używany jest domyślny język użytkownika i kraj/region zgodnie z raportem GetUserDefaultLocaleName . Jeśli na przykład określisz ".1254" (ANSI Turkish) jako ustawienia regionalne dla użytkownika skonfigurowanego dla języka angielskiego (Stany Zjednoczone), przechowywane ustawienia regionalne to English_United States.1254. Nie zalecamy tego formularza, ponieważ może to prowadzić do niespójnego zachowania.

Wartość locale argumentu C określa minimalne środowisko zgodne ze standardem ANSI na potrzeby tłumaczenia języka C. Ustawienia C regionalne zakładają, że każdy char typ danych to 1 bajt, a jego wartość jest zawsze mniejsza niż 256. Jeśli locale wskazuje pusty ciąg, ustawienia regionalne są środowiskiem natywnym zdefiniowanym przez implementację.

Wszystkie kategorie ustawień regionalnych można określić jednocześnie dla setlocale funkcji i _wsetlocale przy użyciu LC_ALL kategorii . 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żącego ustawienia regionalnego. Na przykład ten fragment kodu ustawia bieżące ustawienia regionalne dla wszystkich kategorii na de-DE, a następnie ustawia kategorie LC_MONETARY na i LC_TIME na en-GBes-ES:

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

Obsługa protokołu UTF-8

Obsługę utF-8 można włączyć przy użyciu strony kodowej UTF-8 w ciągu ustawień regionalnych. Aby uzyskać więcej informacji, zobacz sekcję pomocy technicznej protokołu UTF-8 w temacie setlocale.

Zobacz też

Dokumentacja biblioteki środowiska uruchomieniowego języka C
_get_current_locale
setlocale, _wsetlocale
_create_locale, _wcreate_locale
Ciągi językowe
Ciągi kraju/regionu