UCRT: Gebietsschemanamen, Sprachen und Zeichenfolgen für Länder und Regionen
Sie können das Argument auf diesetlocale
_wsetlocale
_create_locale
locale
_wcreate_locale
Verschiedenen Arten und Funktionen festlegen. Das Gebietsschema kann mithilfe der Gebietsschemanamen, Sprachen, Länder-/Regionscodes und Codeseiten festgelegt werden, die von der Windows NLS-API unterstützt werden. Das locale
Argument verwendet eine der folgenden Formen:
locale
:: "Gebietsschemaname"
| "language[_country-region[[. Codeseite]]"
| ". Codeseite"
| "C"
| ""
| NULL
Die locale-name-Form ist eine kurze, von der IETF standardisierte Zeichenfolge, z.B. en-US
für Englisch (USA) oder bs-Cyrl-BA
für Bosnisch (Kyrillisch, Bosnien und Herzegowina). Diese Formen werden bevorzugt. Eine Liste der unterstützten Gebietsschemanamen nach Windows-Betriebssystemversionen finden Sie in der Spalte Sprachtag der Tabelle unter Anhang A: Produktverhalten in [MS-LCID]: Windows-Sprachcodebezeichner – Referenz. Unter dieser Ressource finden Sie die unterstützte Sprache, das Skript und die regionalen Teile der Gebietsschemanamen. Informationen zu den unterstützten Gebietsschemanamen mit nicht standardmäßigen Sortierreihenfolgen finden Sie in der Spalte "Gebietsschemaname " in Sortierreihenbezeichnern. Unter Windows 10 oder höher sind Gebietsschemanamen, die gültigen BCP-47-Sprachtags entsprechen, zulässig. Beispielsweise jp-US
ist ein gültiges BCP-47-Tag, aber es ist nur US
für Gebietsschemafunktionen effektiv.
Die Sprache[_country-region[[.Codeseite]] Das Formular wird in der Gebietsschemaeinstellung für eine Kategorie gespeichert, wenn eine Sprachzeichenfolge oder eine Sprachzeichenfolge und eine Länder- oder Regionszeichenfolge zum Erstellen des Gebietsschemas verwendet wird. Die Gruppe der unterstützten Sprachzeichenfolgen wird in Sprachzeichenfolgen beschrieben, und die Liste der unterstützten Länder- und Region-Zeichenfolgen wird in Länder-/Region-Zeichenfolgen aufgeführt. Wenn die angegebene Sprache nicht dem angegebenen Land oder der angegebenen Region zugeordnet ist, wird die Standardsprache für das angegebene Land oder die angegebene Region in der Gebietsschemaeinstellung gespeichert. Wir empfehlen dieses Formular nicht für gebietsschemazeichenfolgen, die in Code eingebettet sind oder in den Speicher serialisiert sind: Diese Zeichenfolgen werden wahrscheinlicher durch ein Betriebssystemupdate geändert als das Gebietsschemanamenformular.
Beim code-page-Wert handelt es sich um die dem Gebietsschema zugeordnete ANSI/OEM-Codepage. Die Codepage wird für Sie festgelegt, wenn Sie ein Gebietsschema nur nach Sprache oder nach Sprache und Land/Region angeben. Der spezielle Wert .ACP
gibt die ANSI-Codepage für das Land bzw. die Region an. Der spezielle Wert .OCP
gibt die OEM-Codepage für das Land bzw. die Region an. Wenn Sie beispielsweise als Gebietsschema angeben, wird das Gebietsschema als Gebietsschema gespeichert Greek_Greece.1253
(die ANSI-Codeseite für Griechisch), und wenn Sie "Greek_Greece.OCP"
als Gebietsschema angeben"Greek_Greece.ACP"
, wird es als Gebietsschema gespeichert Greek_Greece.737
(die OEM-Codeseite für Griechisch). Weitere Informationen zu Codeseiten finden Sie unter Codeseiten. Eine Liste der unterstützten Codeseiten unter Windows finden Sie unter Codeseitenbezeichner.
Wenn Sie nur die Codeseite verwenden, um das Gebietsschema anzugeben, werden die Standardsprache und die Region des Benutzers verwendet, wie von GetUserDefaultLocaleName
ihnen gemeldet. Wenn Sie beispielsweise ".1254"
(ANSI-Code für Türkisch) als Gebietsschema für einen für Englisch (USA) konfigurierten Benutzer angeben, wird English_United States.1254
als Gebietsschema gespeichert. Wir empfehlen dieses Formular nicht, da es zu inkonsistenten Verhalten führen könnte.
Ein locale
Argumentwert, der C
die minimale ANSI-konforme Umgebung für C-Übersetzung angibt. Das C
-Gebietsschema geht davon aus, dass jeder char
-Datentyp 1 Byte und sein Wert immer kleiner als 256 ist. Wenn locale
auf eine leere Zeichenfolge zeigt, ist das Gebietsschema die durch die Implementierung definierte systemeigene Umgebung.
Sie können für die Funktionen setlocale
und _wsetlocale
alle Gebietsschemakategorien gleichzeitig mithilfe der LC_ALL
-Kategorie angeben. Die Kategorien können alle auf das gleiche Gebietsschema festgelegt werden, oder Sie können jede Kategorie einzeln festlegen, indem Sie ein Gebietsschemaargument mit dieser Form verwenden:
LC-ALL-specifier
::locale
| [LC_COLLATE=
locale
][;LC_CTYPE=
locale
][;LC_MONETARY=
locale
][;LC_NUMERIC=
locale
][;LC_TIME=
locale
]
Sie können mehrere Kategorientypen angeben, durch Semikolons getrennt. Kategorietypen, die nicht angegeben werden, verwenden die aktuelle Gebietsschemaeinstellung. Dieser Codeausschnitt legt beispielsweise das aktuelle Gebietsschema für alle Kategorien auf de-DE
fest und legt dann die Kategorien LC_MONETARY
auf en-GB
und LC_TIME
auf es-ES
fest:
_wsetlocale(LC_ALL, L"de-DE");
_wsetlocale(LC_ALL, L"LC_MONETARY=en-GB;LC_TIME=es-ES");
UTF-8-Support
UTF-8-Unterstützung kann mithilfe der UTF-8-Codeseite in Ihrer Gebietsschemazeichenfolge aktiviert werden. Weitere Informationen finden Sie im Abschnitt "UTF-8-Support" von setlocale
.
Weitere Informationen
Referenz zur C-Laufzeitbibliothek
_get_current_locale
setlocale
, _wsetlocale
_create_locale
, _wcreate_locale
Sprachezeichenfolgen
Länder-/Region-Zeichenfolgen