Terminología de NLS

En este tema se definen los términos que son importantes al trabajar con la funcionalidad NLS.

Términos de configuración regional e idioma

En la tabla siguiente se resumen los términos de configuración regional y de idioma. Consulte también Configuraciones regionales e idiomas.

Grupo de idiomas idioma para programas no Unicode Estándares y formatos
Propósito Proporciona todos los diseños de teclado, editores de métodos de entrada (IME), fuentes TrueType, vínculos de fuentes, archivos de paquetes de licencias (LPK), fuentes de mapa de bits y tablas de traducción de páginas de códigos necesarias por el sistema operativo para un grupo de idiomas. Por lo tanto, afecta a todas las demás configuraciones de esta lista. Determina qué fuentes de mapa de bits y las páginas de códigos OEM, ANSI y Macintosh son predeterminadas para el sistema operativo. Este lenguaje solo afecta a las aplicaciones que no son completamente Unicode. Antes de Windows XP, este lenguaje se denominaba "configuración regional del sistema". Determina qué valores se usan para dar formato a fechas, horas, moneda y números como valor predeterminado para cada usuario. También determina el criterio de ordenación para ordenar texto. Antes de Windows XP, los estándares y los formatos se denominaban "configuración regional del usuario".
Primer conjunto Instalación Instalación Instalación
Cómo pueden cambiar los usuarios Opciones regionales (Panel de control elemento)
Windows XP: Opciones regionales y de idioma
(solo administradores)
Opciones regionales (Panel de control elemento)
Windows XP: Opciones regionales y de idioma
(solo administradores)
Opciones regionales (Panel de control elemento)
Windows XP: Opciones regionales y de idioma
Valor predeterminado Europa occidental y Estados Unidos y grupo de idiomas necesarios para mostrar el idioma de una versión localizada. Idioma de la versión localizada. Idioma del sistema operativo localizado.
Function EnumSystemLanguageGroups GetSystemDefaultLangID GetUserDefaultLCID, GetUserDefaultLocaleName

 

Configuración regional del subproceso Idioma de entrada Idioma predeterminado de la interfaz de usuario del sistema
Propósito Determina la configuración que se usa para dar formato a fechas, horas, moneda y números grandes para un subproceso. También determina el criterio de ordenación para ordenar texto. Consta de un idioma y un método de entrada. Determina el idioma predeterminado de menús y diálogos, mensajes, archivos de información de configuración (INF) y archivos de ayuda.
Windows Vista y versiones posteriores: Se conoce como idioma de instalación. Desempeña un rol más limitado, reemplazado en gran medida por los idiomas de interfaz de usuario preferidos por el sistema.
Para obtener más información, consulte Administración de lenguajes de la interfaz de usuario.
Primer conjunto El valor predeterminado es Estándares y formatos Instalación Instalación
Cómo pueden cambiar los usuarios SetThreadLocale Opciones regionales (Panel de control elemento)
Windows XP: Opciones regionales y de idioma
No
Valor predeterminado Estándares y formatos Idioma de la versión localizada con el método de entrada predeterminado. Idioma de la versión localizada.
Function GetThreadLocale GetKeyboardLayout GetSystemDefaultUILanguage

 

Idioma de la interfaz de usuario del sistema, idiomas de interfaz de usuario preferidos por el sistema Idioma de la interfaz de usuario, idiomas de interfaz de usuario preferidos por el usuario Idiomas de interfaz de usuario preferidos por subprocesos
Propósito Determine el idioma de menús y diálogos, mensajes, archivos INF y archivos de ayuda para el sistema operativo. Para obtener más información, consulte Administración de lenguajes de la interfaz de usuario. Determine el idioma de los menús y cuadros de diálogo, mensajes y archivos de ayuda para el usuario. Para obtener más información, consulte Administración de lenguajes de la interfaz de usuario. Windows Vista y versiones posteriores: Especifique los idiomas preferidos para los subprocesos de aplicación. Para obtener más información, consulte Administración de lenguajes de la interfaz de usuario.
Primer conjunto El valor predeterminado es NULL El valor predeterminado es NULL El valor predeterminado es NULL
Cómo pueden cambiar los usuarios Configuración regional y de idioma
(solo administradores)
Opciones regionales (Panel de control elemento)
Windows XP: Opciones regionales y de idioma
SetThreadPreferredUILanguages
Valor predeterminado Windows Vista y versiones posteriores: Idioma de la versión localizada, seguido de cualquier reserva. Antes de Windows Vista: Idioma de la versión localizada.
Windows Vista y versiones posteriores: Idioma de la versión localizada, seguido de cualquier reserva.
Lista nula
Function GetSystemPreferredUILanguages GetUserDefaultUILanguage, GetUserPreferredUILanguages GetThreadPreferredUILanguages

 

Procesar idiomas de interfaz de usuario preferidos
Propósito Windows 7 y versiones posteriores: Determine los idiomas preferidos para un proceso de aplicación. Para obtener más información, consulte Administración de lenguajes de la interfaz de usuario.
Primer conjunto El valor predeterminado es NULL
Cómo pueden cambiar los usuarios Opciones regionales y de idioma (solo administradores)
Valor predeterminado Windows 7 y versiones posteriores: Idioma de la versión localizada, seguido de cualquier reserva.
Function GetProcessPreferredUILanguages, SetProcessPreferredUILanguages

 

Página de códigos

La incapacidad de las páginas de códigos de punto de código de 256 para admitir la combinación de scripts en un solo texto fue una de las principales razones para el aumento de Unicode. Las páginas de códigos siguen siendo importantes para escribir código de consola, para mantener aplicaciones heredadas o ejecutarse en versiones anteriores de Windows y para interactuar con algún software que no sea de Microsoft que no esté habilitado para Unicode.

Idioma de entrada

El idioma de entrada se representa mediante una variable de datos por proceso que describe un idioma (por ejemplo, griego) y un método de entrada (por ejemplo, el teclado). Se pueden instalar varios idiomas de entrada y el usuario puede cambiar entre ellos.

Para establecer y recuperar el valor del idioma de entrada, la aplicación llama a LoadKeyboardLayout y GetKeyboardLayout, respectivamente. Los usuarios pueden agregar y quitar idiomas de entrada a través de la pestaña Idiomas de la parte regional y de idioma de la Panel de control.

El idioma de entrada predeterminado es el idioma localizado del sistema operativo y es la configuración activa cuando se inicia una nueva aplicación (o cuando se abre una nueva ventana para algunas aplicaciones). El cambio a otro idioma de entrada se realiza por aplicación. En otras palabras, se pueden usar dos lenguajes de entrada diferentes en dos aplicaciones diferentes. Por ejemplo, un usuario puede escribir alemán mediante el diseño internacional de teclado de Estados Unidos, inglés mediante la entrada de voz (con software que no es de Microsoft) y español mediante un IME en tres aplicaciones diferentes.

Idioma para programas que no son Unicode

El idioma de los programas que no son Unicode (anteriormente denominado "configuración regional del sistema") determina la página de códigos que se usa en el sistema operativo de forma predeterminada. El idioma de la configuración de programas que no son Unicode afecta solo a las aplicaciones que no son Unicode, es decir, a las aplicaciones ANSI. Al establecer el idioma se indica a Windows que emule un sistema operativo no basado en Unicode, localizado a este idioma. Al cambiar el idioma de los programas que no son Unicode, se instalan los archivos de fuente de mapa de bits necesarios para admitir aplicaciones que no son Unicode en el idioma especificado. Para permitir que el usuario seleccione un idioma para programas que no son Unicode, se debe instalar el grupo de idioma adecuado. La aplicación necesita la compatibilidad con scripts para seleccionar un idioma para programas que no son Unicode. El idioma de los programas que no son Unicode es una configuración por sistema y requiere que se implemente un reinicio.

A veces no hay ninguna diferencia notable entre dos lenguajes para programas que no son Unicode. Por ejemplo, este es el caso de las configuraciones regionales alemana (neutral) y alemana (Austria). En general, la configuración de un grupo de idiomas es muy similar y solo difiere en la página de códigos OEM o MAC.

Una aplicación ANSI debe comprobar el idioma de los programas que no son Unicode durante la instalación. Usa GetACP o GetOEMCP para recuperar el valor. No se admite ninguna función para establecer el lenguaje de los programas que no son Unicode. Sin embargo, los usuarios pueden cambiarlo mediante la pestaña Opciones avanzadas de la parte regional y de idioma de la Panel de control. A continuación se muestran algunos ejemplos de idioma para la configuración de programas que no son Unicode:

  1. Un usuario alemán que quiera ejecutar una aplicación japonesa diseñada para Windows 95 japonés debe seleccionar japonés como idioma para programas que no son Unicode. Después de esta selección, las aplicaciones alemanas que no son Unicode tienen problemas. Por ejemplo, los umlauts alemanes ( ́) no se muestran correctamente.
  2. Un usuario alemán que quiera escribir texto japonés en una aplicación alemana que no sea Unicode debe seleccionar japonés como idioma para programas que no son Unicode. Como en el primer ejemplo, esto provoca problemas al escribir texto alemán en aplicaciones que no son Unicode.
  3. Un usuario árabe que quiera escribir árabe, francés e inglés en una aplicación árabe que no sea Unicode debe seleccionar árabe como idioma para los programas que no son Unicode, ya que la página de códigos ANSI árabe contiene la mayoría de los caracteres franceses y todos los caracteres en inglés.

Grupo de idiomas

El grupo de idiomas controla el idioma de los programas que no son Unicode, estándares y formatos, idiomas de entrada e idiomas de interfaz de usuario que se pueden seleccionar. Para cada versión localizada, el grupo de idiomas especificado es el valor predeterminado y no se puede quitar. Por ejemplo, Windows instala de forma predeterminada el grupo de idiomas De europa occidental y Estados Unidos. Por lo tanto, si la versión en inglés de Windows está instalada en un país o región que no habla inglés, el usuario normalmente instalará otro grupo de idiomas.

Al agregar un grupo de idioma, Windows copia (pero no activa) los archivos de teclado necesarios, editores de métodos de entrada (IME), archivos de fuente TrueType, archivos de fuente de mapa de bits y archivos de compatibilidad con idiomas nacionales (.nls). Agregar un grupo de idiomas también agrega valores del Registro para la vinculación de fuentes e instala motores de scripting para lenguajes de script complejos (árabe, hebreo, indic y tailandés).

Además de europa occidental y Estados Unidos grupo de idiomas, hay 16 otros grupos de idiomas:

Árabe
Armenio
Báltico
Europa central
Cirílico
Georgiano
Griego
Hebreo
Índicas
Japonés
Coreano
Chino simplificado
Chino tradicional
Tailandés
Turcas
Vietnamita

 

Cualquier número y combinación de grupos de idioma se pueden instalar en cualquier sistema operativo. Por ejemplo, un usuario español puede instalar el grupo de idiomas cirílico para trabajar en textos rusos. En este caso, una aplicación de procesamiento de texto también debe admitir el grupo de idiomas cirílico.

Nota

Agregar el grupo de idioma adecuado no permite automáticamente que una aplicación acepte texto. Se recomienda realizar pruebas. Por ejemplo, las aplicaciones que no son Unicode pueden requerir que se cambie el idioma de los programas que no son Unicode.

 

Ubicación

Windows XP: Una ubicación es un identificador geográfico. Se representa mediante una variable de datos por usuario que define el país o región donde reside el usuario.

Para establecer el valor, la aplicación llama a SetUserGeoID. Para recuperar el valor, la aplicación llama a GetUserGeoID.

Estándares y formatos

Standards and Formats (anteriormente"user locale") es una variable por usuario que determina el criterio de ordenación predeterminado y la configuración predeterminada para dar formato a fechas, horas, moneda y números. La variable se presenta como un idioma (a veces en combinación con un país o región), pero no es un propio idioma. Por ejemplo, establecer la variable Estándares y formatos en hebreo indica que el usuario quiere usar las convenciones de formato del hebreo, no necesariamente el idioma hebreo. Además, la variable Standards and Formats determina la cadena que se usa para los nombres de días y meses. Por ejemplo, si un usuario muestra "25 de noviembre de 1998", la cadena "Noviembre" puede cambiar en función de la variable Standards y Formats. Al cambiar la variable, se agrega automáticamente una configuración regional de entrada con la configuración predeterminada del idioma.

Para obtener la configuración de la variable Standards and Formats, la aplicación llama a GetUserDefaultLCID o GetUserDefaultLocaleName. No hay ninguna función NLS disponible para establecer la variable. Sin embargo, los usuarios pueden cambiarlo a través de la pestaña Opciones de región de la parte de opciones regionales y de idioma del Panel de control.

Normalmente, una aplicación debe usar la configuración de variables Standards y Formats para mostrar los datos. Sin embargo, una aplicación que usa una configuración regional fija para mostrar datos debe pasar un identificador de configuración regional específico en lugar de usar LOCALE_USER_DEFAULT.

Configuración regional del subproceso

La configuración regional del subproceso se representa mediante una variable de datos de configuración regional por subproceso que determina el formato de fechas, horas, moneda y números grandes para el subproceso. El valor predeterminado es el valor de la configuración regional actualmente seleccionado para Estándares y formatos. Para establecer la configuración regional del subproceso, la aplicación llama a SetThreadLocale. Para recuperar la configuración regional del subproceso, la aplicación llama a GetThreadLocale.

En la mayoría de los casos, la configuración regional del subproceso no se debe sobrescribir. Normalmente, solo se debe usar para sincronizar la configuración regional del subproceso de una aplicación de servidor con la variable Standards and Formats de un equipo cliente. Por ejemplo, una aplicación de negociación de acciones financieras para la Bolsa de Valores de Nueva York, que se utiliza en bancos de todo el mundo, tiene que mostrar la hora, la fecha y los precios de las acciones en formatos de Estados Unidos. Esta aplicación usa SetThreadLocale para establecer la configuración regional del subproceso en inglés (Estados Unidos) y, a continuación, usa las funciones NLS para dar formato a fechas, horas y precios de acciones.

Cambiar la configuración regional del subproceso no afecta a todas las funciones de API. Por lo tanto, no siempre es una manera confiable de invalidar la variable Standards and Formats. En su lugar, las aplicaciones que controlan los estándares y formatos deben usar una configuración regional fija para mostrar datos, pasando un identificador de configuración regional específico en lugar de usar LOCALE_USER_DEFAULT.

Ejemplo de NLS

En el ejemplo siguiente se muestra la interacción entre estándares y formatos, el idioma de los programas que no son Unicode, la ubicación y el idioma de la interfaz de usuario del usuario.

Un usuario que es nativo de Chile, pero vive en el Estados Unidos tiene un equipo que ejecuta Windows XP English. El usuario establece la ubicación en Estados Unidos usar un proveedor de servicios de Internet (ISP) para obtener el tiempo del Estados Unidos. Sin embargo, la variable Estándares y Formatos se establece en Español (Chile) para que la información tenga formato según las normas chilenas. Además, el usuario usa un procesador de texto coreano, que es una aplicación ANSI, de modo que el idioma de los programas que no sean Unicode esté establecido en coreano (Corea). Para usar la aplicación, el usuario tiene un teclado en inglés e instala también un IME coreano para admitir un segundo idioma de entrada. El compañero de trabajo del usuario, que comparte el equipo pero no está cómodo con el inglés, puede establecer el idioma de la interfaz de usuario de usuario en español (España) al usar el equipo.

Acerca de la compatibilidad con idiomas nacionales

Configuraciones regionales e idiomas

Interfaz de usuario multilingüe