Nazwy ustawień regionalnych UCRT, języki i ciągi kraj/region
Argument można ustawić locale
na setlocale
funkcje ,_wsetlocale
, _create_locale
i _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-GB
es-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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla