Nombres de configuración regional, idiomas y cadenas de país/región de UCRT

El argumento de configuración regional de las funciones setlocale, _wsetlocale, _create_localey _wcreate_locale se puede establecer mediante los nombres de configuración regional, los idiomas, los códigos de país o región y las páginas de códigos que admite el Windows NLS API. El argumento de locale tiene el formato siguiente:

locale :: "locale-name"
    | "language[_country-region[.página de códigos]]"
    | ".página de códigos"
    | "C"
    | ""
    | NULL

La forma locale-name es una cadena corta estandarizada por IETF; por ejemplo, para Inglés (Estados Unidos) o bs-Cyrl-BA para Bosnio (cirílico, Bosnia y Herzegovina). Se prefieren estas formas. Para una lista de nombres de configuración regional compatibles con la versión del sistema operativo Windows, consulte la columna Language tag (Etiqueta de idioma) de la en la tabla Appendix A: Product Behavior (Apéndice A: Comportamiento del producto) en [MS-LCID]: Windows Language Code Identifier (LCID) Reference ([MS-LCID]: Referencia de identificador de configuración regional (LCID) de Windows). En este recurso se enumeran las partes de idioma, script y región compatibles de los nombres de configuración regional. Para obtener información sobre nombres de configuración regional compatibles que tienen criterios de ordenación no predeterminados, vea la columna Locale Name (Nombre de configuración regional) en Sort Order Identifiers(Identificadores de criterio de ordenación). En Windows 10 o posterior, se permiten nombres de configuración regional que corresponden a etiquetas de idioma BCP-47 válidas. Por ejemplo, jp-US es una etiqueta BCP-47 válida, pero es eficaz solo US para la funcionalidad de configuración regional.

Idioma [_country-region[.página de códigos]] Form se almacena en la configuración regional de una categoría cuando se usa una cadena de idioma, o cadena de idioma y cadena de país o región, para crear la configuración regional. El conjunto de cadenas de idioma admitidas se describe en Language Strings. (Cadenas de idioma), y la lista de cadenas de país o región admitidas se muestra en Country/Region Strings (Cadenas de país o región). Si el idioma especificado no está asociado al país o la región especificados, en la configuración regional se almacena el idioma predeterminado para el país o la región especificados. No se recomienda usar este formato para las cadenas de configuración regional insertadas en código o serializadas en el almacenamiento, ya que es más probable que una actualización del sistema operativo cambie estas cadenas que el formato de nombre de configuración regional.

code-page es la página de códigos de ANSI/OEM asociada a la configuración regional. La página de códigos se determina automáticamente al especificar una configuración regional solo por idioma o por idioma y país o región. El valor especial .ACP especifica la página de códigos ANSI para el país o región. El valor especial .OCP especifica la página de códigos OEM para el país o región. Por ejemplo, si especifica "Greek_Greece.ACP" como configuración regional, la configuración regional se almacena como Greek_Greece.1253 (página de códigos ANSI del griego); si especifica "Greek_Greece.OCP" como configuración regional, se almacena como Greek_Greece.737 (página de códigos OEM del griego). Para obtener más información sobre las páginas de códigos, vea Páginas de códigos. Para obtener la lista de páginas de códigos admitidas en Windows, vea Code Page Identifiers(Identificadores de páginas de códigos).

Si usa solo la página de códigos para especificar la configuración regional, se usan el idioma y el país o región predeterminados del usuario, según se indica en GetUserDefaultLocaleName. Por ejemplo, si especifica ".1254" (ANSI del turco) como configuración regional de un usuario configurado para inglés (Estados Unidos), la configuración regional que se almacena es English_United States.1254. No se recomienda usar este formato, porque podría causar un comportamiento incoherente.

Un valor de argumento locale de especifica el entorno compatible con ANSI mínimo para la conversión de C. La configuración regional de C supone que cada tipo de datos char es de 1 byte y su valor es siempre menor que 256. Si locale señala a una cadena vacía, la configuración regional es el entorno nativo definido por la implementación.

Puede especificar a la vez todas las categorías de configuración regional para las funciones setlocale y _wsetlocale con la categoría LC_ALL . Todas las categorías se pueden establecer en la misma configuración regional. También puede establecer cada categoría por separado mediante un argumento de configuración regional con el siguiente formato:

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

Puede especificar varios tipos de categoría, separados por punto y coma. Los tipos de categoría que no se especifican usan la configuración regional actual. Por ejemplo, este fragmento de código establece la configuración regional actual para todas las categorías en de-DEy, a continuación, establece las categorías LC_MONETARY en en-GB y LC_TIME en es-ES:

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

Compatibilidad con UTF-8

La compatibilidad con UTF-8 se puede habilitar mediante la página de códigos UTF-8 de la cadena de configuración regional. Consulte la sección Compatibilidad con UTF-8 de para obtener más información.

Vea también

Referencia de la biblioteca Run-Time C
_get_current_locale
setlocale, _wsetlocale
_create_locale, _wcreate_locale
Cadenas de idioma
Cadenas de país o región