Terminologia do NLS

Este tópico define termos importantes ao trabalhar com a funcionalidade nls.

Termos de Localidade e Idioma

A tabela a seguir resume os termos de localidade e idioma. Consulte também Localidades e Idiomas.

Grupo de idiomas Idioma para programas não Unicode Padrões e formatos
Finalidade Fornece todos os layouts de teclado, editores de método de entrada (IMEs), fontes TrueType, links de fonte, LPKs (arquivos de pacote de licença), fontes bitmap e tabelas de tradução de página de código necessárias para o sistema operacional para um grupo de idiomas. Portanto, afeta todas as outras configurações nesta lista. Determina quais fontes de bitmap e páginas de código OEM, ANSI e Macintosh são padrões para o sistema operacional. Esse idioma afeta apenas aplicativos que não são totalmente Unicode. Antes do Windows XP, esse idioma era chamado de "localidade do sistema". Determina quais configurações são usadas para formatar datas, horas, moeda e números como padrão para cada usuário. Também determina a ordem de classificação para classificar o texto. Antes do Windows XP, Standards e Formats era chamado de "localidade do usuário".
Primeiro Conjunto Instalação Instalação Instalação
Como os usuários podem alterar Opções Regionais (item Painel de Controle)
Windows XP: Opções regionais e de idioma
(somente administradores)
Opções Regionais (item Painel de Controle)
Windows XP: Opções regionais e de idioma
(somente administradores)
Opções Regionais (item Painel de Controle)
Windows XP: Opções regionais e de idioma
Default Europa Ocidental e Estados Unidos e grupo de idiomas necessários para exibir o idioma de uma versão localizada. Idioma da versão localizada. Idioma do sistema operacional localizado.
Função EnumSystemLanguageGroups GetSystemDefaultLangID GetUserDefaultLCID, GetUserDefaultLocaleName

 

Localidade do thread Linguagem de entrada Idioma da interface do usuário padrão do sistema
Finalidade Determina as configurações usadas para formatar datas, horas, moeda e números grandes para um thread. Também determina a ordem de classificação para classificar o texto. Consiste em uma linguagem e um método de entrada. Determina o idioma padrão de menus e caixas de diálogo, mensagens, arquivos INF (informações de instalação) e arquivos de ajuda.
Windows Vista e posterior: Conhecido como idioma de instalação. Desempenha uma função mais limitada, em grande parte substituída por linguagens de interface do usuário preferenciais do sistema.
Para obter mais informações, consulte Gerenciamento de linguagem de interface do usuário
Primeiro Conjunto Padrão para Padrões e Formatos Instalação Instalação
Como os usuários podem alterar SetThreadLocale Opções Regionais (item Painel de Controle)
Windows XP: Opções regionais e de idioma
No
Default Padrões e formatos Idioma da versão localizada com o método de entrada padrão. Idioma da versão localizada.
Função GetThreadLocale GetKeyboardLayout Getsystemdefaultuilanguage

 

Idioma da interface do usuário do sistema, idiomas de interface do usuário preferenciais do sistema Idioma da interface do usuário, idiomas de interface do usuário preferenciais do usuário Idiomas de interface do usuário preferenciais do thread
Finalidade Determine o idioma de menus e caixas de diálogo, mensagens, arquivos INF e arquivos de ajuda para o sistema operacional. Para obter mais informações, consulte Gerenciamento de linguagem de interface do usuário. Determine o idioma de menus e caixas de diálogo, mensagens e arquivos de ajuda para o usuário. Para obter mais informações, consulte Gerenciamento de linguagem de interface do usuário. Windows Vista e posterior: Especifique os idiomas preferenciais para threads de aplicativo. Para obter mais informações, consulte Gerenciamento de linguagem de interface do usuário.
Primeiro Conjunto Padrão para NULL Padrão para NULL Padrão para NULL
Como os usuários podem alterar Opções regionais e de idioma
(somente administradores)
Opções Regionais (item Painel de Controle)
Windows XP: Opções regionais e de idioma
SetThreadPreferredUILanguages
Default Windows Vista e posterior: Idioma da versão localizada, seguido por quaisquer fallbacks. Antes do Windows Vista: Idioma da versão localizada.
Windows Vista e posterior: Idioma da versão localizada, seguido por quaisquer fallbacks.
Lista nula
Função GetSystemPreferredUILanguages GetUserDefaultUILanguage, GetUserPreferredUILanguages GetThreadPreferredUILanguages

 

Processar idiomas de interface do usuário preferenciais
Finalidade Windows 7 e posterior: Determine os idiomas preferenciais para um processo de aplicativo. Para obter mais informações, consulte Gerenciamento de linguagem de interface do usuário.
Primeiro Conjunto Padrão para NULL
Como os usuários podem alterar Opções regionais e de idioma (somente administradores)
Default Windows 7 e posterior: Idioma da versão localizada, seguido por quaisquer fallbacks.
Função GetProcessPreferredUILanguages, SetProcessPreferredUILanguages

 

Página de Código

A incapacidade de páginas de código de 256 pontos para dar suporte à combinação de scripts em um único texto foi um dos motivos main para o aumento do Unicode. As páginas de código permanecem importantes para escrever código de console, para manter aplicativos herdados ou em execução em versões mais antigas do Windows e para interfiguração com algum software não Microsoft que não esteja habilitado para Unicode.

Idioma de Entrada

A linguagem de entrada é representada por uma variável de dados por processo que descreve um idioma (por exemplo, grego) e um método de entrada (por exemplo, o teclado). Vários idiomas de entrada podem ser instalados e o usuário pode alternar entre eles.

Para definir e recuperar o valor do idioma de entrada, o aplicativo chama LoadKeyboardLayout e GetKeyboardLayout, respectivamente. Os usuários podem adicionar e remover idiomas de entrada por meio da guia Idiomas na parte regional e de opções de idioma do Painel de Controle.

O idioma de entrada padrão é o idioma localizado do sistema operacional e é a configuração que está ativa quando um novo aplicativo é iniciado (ou quando uma nova janela é aberta para alguns aplicativos). A mudança para um idioma de entrada diferente é feita por aplicativo. Em outras palavras, duas linguagens de entrada diferentes podem ser usadas em dois aplicativos diferentes. Por exemplo, um usuário pode digitar alemão usando o layout de teclado Estados Unidos internacional, inglês usando entrada de voz (com software não Microsoft) e espanhol usando um IME em três aplicativos diferentes.

Idioma para programas não Unicode

O idioma para programas não Unicode (anteriormente chamados de "localidade do sistema") determina a página de código usada no sistema operacional por padrão. A configuração de linguagem para programas não Unicode afeta apenas aplicativos não Unicode, ou seja, aplicativos ANSI. Definir o idioma instrui o Windows a emular um sistema operacional não baseado em Unicode localizado nesse idioma. A alteração do idioma para programas não Unicode instala os arquivos de fonte bitmap necessários para dar suporte a aplicativos não Unicode no idioma especificado. Para permitir que o usuário selecione um idioma para programas não Unicode, o grupo de idiomas apropriado deve ser instalado. Seu aplicativo precisa do suporte de script para selecionar um idioma para programas não Unicode. O idioma para programas não Unicode é uma configuração por sistema e requer que uma reinicialização seja implementada.

Às vezes, não há diferença perceptível entre dois idiomas para programas não Unicode. Por exemplo, esse é o caso das localidades alemã (neutra) e alemã (Áustria). Em geral, as configurações de um grupo de idiomas são muito semelhantes e diferem apenas na página de código OEM ou MAC.

Um aplicativo ANSI deve marcar o idioma para a configuração de programas não Unicode durante a instalação. Ele usa GetACP ou GetOEMCP para recuperar o valor. Nenhuma função tem suporte para definir o idioma para programas não Unicode. No entanto, os usuários podem alterá-lo usando a guia Avançado na parte de opções regionais e de idioma do Painel de Controle. Veja a seguir alguns exemplos de linguagem para configurações de programas não Unicode:

  1. Um usuário alemão que deseja executar um aplicativo japonês que foi projetado para o Windows 95 japonês deve selecionar japonês como o idioma para programas não Unicode. Após essa seleção, aplicativos alemães não Unicode têm problemas. Por exemplo, os umlauts alemães ( ̈) não são exibidos corretamente.
  2. Um usuário alemão que deseja digitar texto japonês em um aplicativo alemão não Unicode deve selecionar japonês como o idioma para programas não Unicode. Como no primeiro exemplo, isso causa problemas ao inserir texto alemão em aplicativos não Unicode.
  3. Um usuário árabe que deseja digitar árabe, francês e inglês em um aplicativo árabe não Unicode deve selecionar árabe como um idioma para programas não Unicode, pois a página de código ANSI árabe contém a maioria dos caracteres em francês e todos os caracteres em inglês.

Grupo de Idiomas

O grupo de idiomas controla o idioma para programas não Unicode, Padrões e Formatos, idiomas de entrada e idiomas de interface do usuário que podem ser selecionados. Para cada versão localizada, o grupo de idiomas especificado é o padrão e não pode ser removido. Por exemplo, o Windows instala o grupo de idiomas europa ocidental e Estados Unidos por padrão. Assim, se a versão em inglês do Windows estiver instalada em um país/região que não fala inglês, o usuário normalmente instalará outro grupo de idiomas.

Ao adicionar um grupo de idiomas, o Windows copia (mas não ativa) os arquivos de teclado necessários, IMEs (Editores de Método de Entrada), arquivos de fonte TrueType, arquivos de fonte bitmap e arquivos de Suporte à Linguagem Nacional (.nls). Adicionar um grupo de idiomas também adiciona valores de registro para vinculação de fontes e instala mecanismos de script para linguagens de script complexas (árabe, hebraico, índice e tailandês).

Além da Europa Ocidental e do grupo de idiomas Estados Unidos, há outros 16 grupos de idiomas:

Árabe
Armênia
Báltico
Europa Central
Cirílico
Georgiano
Grego
Hebraico
Índicos
Japonês
Coreano
Chinês simplificado
Chinês tradicional
Tailandês
Turcos
Vietnamita

 

Qualquer número e combinação de grupos de idiomas podem ser instalados em qualquer sistema operacional. Por exemplo, um usuário espanhol pode instalar o grupo de idiomas cirílico para trabalhar em textos russos. Nesse caso, um aplicativo de processamento de palavras também precisa dar suporte ao grupo de idiomas cirílico.

Observação

A adição do grupo de idiomas apropriado não permite automaticamente que um aplicativo aceite texto. É recomendável fazer o teste. Por exemplo, aplicativos não Unicode podem exigir que o idioma para programas não Unicode seja alterado.

 

Location

Windows XP: Um local é um identificador geográfico. Ela é representada por uma variável de dados por usuário que define o país/região onde o usuário reside.

Para definir o valor, o aplicativo chama SetUserGeoID. Para recuperar o valor, o aplicativo chama GetUserGeoID.

Padrões e formatos

Standards and Formats (anteriormente "localidade do usuário") é uma variável por usuário que determina a ordem de classificação padrão e as configurações padrão para formatar datas, horas, moeda e números. A variável é apresentada como uma linguagem (às vezes em combinação com um país/região), mas não é uma linguagem em si. Por exemplo, definir a variável Padrões e Formatos como hebraico indica que o usuário deseja usar as convenções de formatação de hebraico, não necessariamente a linguagem hebraica. Além disso, a variável Standards and Formats determina a cadeia de caracteres usada para os nomes de dias e meses. Por exemplo, se um usuário exibir "25 de novembro de 1998", a cadeia de caracteres "Novembro" poderá ser alterada com base na variável Padrões e Formatos. Alterar a variável adiciona automaticamente uma localidade de entrada com as configurações padrão para o idioma.

Para obter a configuração da variável Standards and Formats, o aplicativo chama GetUserDefaultLCID ou GetUserDefaultLocaleName. Nenhuma função NLS está disponível para definir a variável. No entanto, os usuários podem alterá-lo por meio da guia Opções de Região na parte regional e de opções de idioma do Painel de Controle.

Um aplicativo normalmente deve usar as configurações de variável Standards e Formats para exibir dados. No entanto, um aplicativo que usa uma localidade fixa para exibir dados deve passar um identificador de localidade específico em vez de usar LOCALE_USER_DEFAULT.

Localidade do Thread

A localidade do thread é representada por uma variável de dados de localidade por thread que determina a formatação de datas, horas, moeda e números grandes para o thread. Ele usa como padrão o valor da localidade atualmente selecionada para Padrões e Formatos. Para definir a localidade do thread, o aplicativo chama SetThreadLocale. Para recuperar a localidade do thread, o aplicativo chama GetThreadLocale.

Na maioria dos casos, a localidade do thread não deve ser substituída. Normalmente, ele só deve ser usado para sincronizar a localidade de thread de um aplicativo de servidor com a variável Standards e Formats de um computador cliente. Por exemplo, um aplicativo de negociação de ações financeiras para a Bolsa de Valores de Nova York, que é usado em bancos em todo o mundo, tem que exibir a hora, a data e os preços das ações em formatos de Estados Unidos. Esse aplicativo usa SetThreadLocale para definir a localidade do thread como inglês (Estados Unidos) e, em seguida, usa as funções NLS para formatar datas, horários e preços das ações.

Alterar a localidade do thread não afeta todas as funções de API. Portanto, nem sempre é uma maneira confiável de substituir a variável Standards e Formats. Em vez disso, os aplicativos que controlam padrões e formatos devem usar uma localidade fixa para exibir dados, passando um identificador de localidade específico em vez de usar LOCALE_USER_DEFAULT.

Exemplo de NLS

O exemplo a seguir mostra a interação entre Padrões e Formatos, a linguagem para programas não Unicode, localização e idioma da interface do usuário.

Um usuário que é nativo do Chile, mas está morando no Estados Unidos tem um computador que executa o Windows XP inglês. O usuário define o local como Estados Unidos para usar um provedor de serviços de Internet (ISP) para obter o clima para o Estados Unidos. No entanto, a variável Padrões e Formatos é definida como Espanhol (Chile) para que as informações sejam formatadas de acordo com os padrões chilenos. Além disso, o usuário usa um processador de palavras coreano, que é um aplicativo ANSI, para que o idioma para programas não Unicode seja definido como coreano (Coreia). Para usar o aplicativo, o usuário tem um teclado em inglês e também instala um IME coreano para dar suporte a um segundo idioma de entrada. O colega de trabalho do usuário, que compartilha o computador, mas não está confortável com o inglês, pode definir o idioma da interface do usuário como espanhol (Espanha) ao usar o computador.

Sobre o Suporte a Idiomas Nacionais

Localidades e idiomas

Interface do Usuário Multilíngue