Terminologia do NLS
Este tópico define os termos que são 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 | |
---|---|---|---|
de Finalidade do | Fornece todos os layouts de teclado, IMEs (editores de método de entrada), fontes TrueType, links de fonte, LPKs (arquivos de pacote de licença), fontes de 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 classificação de texto. Antes do Windows XP, Padrões e Formatos eram chamados 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 |
padrão | 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. |
de função | EnumSystemLanguageGroups | GetSystemDefaultLangID | GetUserDefaultLCID , GetUserDefaultLocaleName |
Localidade do thread | Idioma de entrada | Idioma da interface do usuário padrão do sistema | |
---|---|---|---|
de Finalidade do | Determina as configurações usadas para formatar datas, horas, moeda e grandes números para um thread. Também determina a ordem de classificação para classificação de texto. | Consiste em um idioma 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 linguagem de instalação. Desempenha uma função mais limitada, em grande parte substituída por idiomas de interface do usuário preferenciais do sistema. Para obter mais informações, consulte User Interface Language Management |
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 |
Não |
padrão | Padrões e formatos | Idioma da versão localizada com o método de entrada padrão. | Idioma da versão localizada. |
de 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 | |
---|---|---|---|
de Finalidade do | 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 de Gerenciamento de Linguagem da 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 de Gerenciamento de Linguagem da Interface do Usuário. | Windows Vista e posterior: Especificar os idiomas preferenciais para threads de aplicativo. Para obter mais informações, consulte de Gerenciamento de Linguagem da 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 |
padrão | 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 |
de função | GetSystemPreferredUILanguages | GetUserDefaultUILanguage, GetUserPreferredUILanguages | GetThreadPreferredUILanguages |
Processar idiomas de interface do usuário preferenciais | |
---|---|
de Finalidade do | Windows 7 e posterior: Determinar os idiomas preferenciais para um processo de aplicativo. Para obter mais informações, consulte de Gerenciamento de Linguagem da Interface do Usuário. |
primeiro conjunto | Padrão para NULL |
Como os usuários podem alterar | Opções regionais e de idioma (somente administradores) |
padrão | Windows 7 e posterior: Idioma da versão localizada, seguido por quaisquer fallbacks. |
de função | GetProcessPreferredUILanguages, SetProcessPreferredUILanguages |
Página de código
A incapacidade de páginas de código de 256 códigos para dar suporte à mistura de scripts em um único texto foi um dos principais motivos 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 alternância para um idioma de entrada diferente é feita por aplicativo. Em outras palavras, dois idiomas de entrada diferentes podem ser usados em dois aplicativos diferentes. Por exemplo, um usuário pode digitar alemão usando o layout internacional de teclado dos Estados Unidos, 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. O idioma para a configuração de 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 para esse idioma. Alterar o idioma para programas não Unicode instala os arquivos de fonte de 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á nenhuma 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 verificar o idioma da 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 Advanced na parte regional e de opções de idioma do Painel de Controle. Veja a seguir alguns exemplos de linguagem para configurações de programas não Unicode:
- 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 terão problemas. Por exemplo, os umlauts alemães (̈) não são exibidos corretamente.
- 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.
- 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 da Europa Ocidental e dos Estados Unidos por padrão. Portanto, 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 de bitmap e arquivos de Suporte à Linguagem Nacional (.nls). A adição de 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 do grupo de idiomas da Europa Ocidental e dos Estados Unidos, há outros 16 grupos de idiomas:
Armênio Báltico Europa Central Cirílico Georgiano Grego Hebraico |
Japonês Coreano Chinês simplificado Chinês tradicional Tailandês Turcos Vietnamita |
Qualquer número e combinação de grupos de idiomas pode ser instalado em qualquer sistema operacional. Por exemplo, um usuário espanhol pode instalar o grupo de idiomas cirílicos para trabalhar em textos russos. Nesse caso, um aplicativo de processamento de palavras também precisa dar suporte ao grupo de idiomas cirílico.
Nota
A adição do grupo de idiomas apropriado não permite automaticamente que um aplicativo aceite texto. O teste é recomendado. Por exemplo, aplicativos não Unicode podem exigir que o idioma para programas não Unicode seja alterado.
Localização
Windows XP: Um local é um identificador geográfico. Ele é representado 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 Standards and Formats. 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 grandes números 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 and 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 nos formatos dos Estados Unidos. Esse aplicativo usa SetThreadLocale para definir a localidade do thread como inglês (Estados Unidos) e usa as funções NLS para formatar datas, horários e preços das ações.
A alteração da 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 and 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, o idioma para programas não Unicode, local e o idioma da interface do usuário.
Um usuário que é nativo do Chile, mas está morando nos Estados Unidos, tem um computador que executa o Windows XP English. O usuário define o local para os Estados Unidos usar um PROVEDOR de serviços de Internet (ISP) para obter o clima para os Estados Unidos. No entanto, a variável Standards and Formats é 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 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.
Tópicos relacionados