Delen via


Namen, talen en land-/regiotekenreeksen van UCRT-landinstellingen

U kunt het locale argument op verschillende manieren instellen op de setlocale, _wsetlocaleen _create_locale_wcreate_locale functies. De landinstelling kan worden ingesteld met behulp van de landinstellingen, talen, land-/regiocodes en codepagina's die worden ondersteund door de Windows NLS-API. Het locale argument heeft een van de volgende formulieren:

locale :: "locale-naam"
 | "language[_country-region[.code-page]] "
 | ". code-page"
 | "C"
 | ""
 | NUL

Het formulier landinstelling is een korte, gestandaardiseerde tekenreeks van IETF; Bijvoorbeeld en-US voor Engels (Verenigde Staten) of bs-Cyrl-BA voor Bosnisch (Cyrillisch, Bosnië en Herzegovina). Deze formulieren hebben de voorkeur. Raadpleeg de kolom Taaltag van de tabel in bijlage A: Productgedrag in [MS-LCID]: Naslaginformatie over Windows Language Code Identifier (LCID) voor een lijst van ondersteunde landinstellingsnamen per Windows-besturingssysteemversie. Deze resource bevat de ondersteunde taal-, script- en regioonderdelen van de landinstellingen. Zie de kolom Landinstellingennamen in Sorteervolgorde-id's voor meer informatie over de ondersteunde landinstellingennamen met niet-standaard sorteervolgordes. Onder Windows 10 of hoger zijn landinstellingen die overeenkomen met geldige BCP-47-taaltags toegestaan. Bijvoorbeeld, jp-US is een geldige BCP-47-tag, maar feitelijk is het slechts US voor locale-functies.

De taal[_country-region[.code-page]] formulier wordt opgeslagen in de landinstelling voor een categorie wanneer een taaltekenreeks, of taaltekenreeks en land- of regiotekenreeks, wordt gebruikt om de landinstelling te maken. De set ondersteunde taaltekenreeksen wordt beschreven in taaltekenreeksen en de lijst met ondersteunde land- en regiotekenreeksen wordt vermeld in tekenreeksen voor land/regio. Als de opgegeven taal niet is gekoppeld aan het opgegeven land of de opgegeven regio, wordt de standaardtaal voor het opgegeven land of de opgegeven regio opgeslagen in de landinstellingen. Deze vorm wordt niet aanbevolen voor locale-tekenreeksen die in code zijn opgenomen of voor opslag worden geserialiseerd: deze tekenreeksen worden waarschijnlijk vaker gewijzigd door een update van het besturingssysteem dan de vorm van de locatienaam.

De codepagina is de ANSI-/OEM-codepagina die is gekoppeld aan de landinstelling. De codepagina wordt voor u bepaald wanneer u een landinstelling opgeeft per taal of per taal en land/regio alleen. Met de speciale waarde .ACP wordt de ANSI-codepagina voor het land/de regio opgegeven. Met de speciale waarde .OCP wordt de OEM-codepagina voor het land/de regio opgegeven. Als u bijvoorbeeld opgeeft "Greek_Greece.ACP" als de landinstelling, wordt de landinstelling opgeslagen als Greek_Greece.1253 (de ANSI-codepagina voor Grieks) en als u opgeeft "Greek_Greece.OCP" als de landinstelling, wordt deze opgeslagen als Greek_Greece.737 (de OEM-codepagina voor Grieks). Zie Codepagina's voor meer informatie over codepagina's. Zie codepagina-id's voor een lijst met ondersteunde codepagina's in Windows.

Als u alleen de codepagina gebruikt om de landinstelling op te geven, worden de standaardtaal en het land/de regio van de gebruiker gebruikt die door GetUserDefaultLocaleName de gebruiker zijn gerapporteerd. Als u bijvoorbeeld (ANSI Turks) opgeeft ".1254" als landinstelling voor een gebruiker die is geconfigureerd voor Engels (Verenigde Staten), is English_United States.1254de landinstelling die is opgeslagen. Dit formulier wordt niet aanbevolen, omdat dit kan leiden tot inconsistent gedrag.

Een locale argumentwaarde van C bepaalt de minimale ANSI-omgeving voor C-vertaling. Bij de C landinstelling wordt ervan uitgegaan dat elk char gegevenstype 1 byte is en dat de waarde ervan altijd kleiner is dan 256. Als locale verwijst naar een lege tekenreeks, is de landinstelling de door de implementatie gedefinieerde systeemeigen omgeving.

U kunt alle landinstellingen tegelijk voor de setlocale en _wsetlocale functies opgeven met behulp van de LC_ALL categorie. De categorieën kunnen allemaal worden ingesteld op dezelfde landinstelling of u kunt elke categorie afzonderlijk instellen met behulp van een landinstellingargument met dit formulier:

LC-ALL-specifier :: locale
 | [LC_COLLATE=][locale;LC_CTYPE=][][locale;LC_MONETARY=][locale;LC_NUMERIC=][locale;LC_TIME=]locale

U kunt meerdere categorietypen opgeven, gescheiden door puntkomma's. Categorietypen die niet zijn opgegeven, gebruiken de huidige landinstelling. Met dit codefragment stelt u bijvoorbeeld de huidige landinstelling voor alle categorieën de-DEin en stelt u vervolgens de categorieën LC_MONETARYen-GB in op en LC_TIME op es-ES:

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

Ondersteuning voor UTF-8

UTF-8-ondersteuning kan worden ingeschakeld met behulp van de UTF-8-codepagina in uw landinstellingentekenreeks. Zie de sectie over ondersteuning voor UTF-8 van setlocale.

Zie ook

C-runtimebibliotheek-referentie
_get_current_locale
setlocale, _wsetlocale
_create_locale, _wcreate_locale
Taaltekenreeksen
Land/regio tekenreeksen