Compartilhar via


Gerenciamento de linguagem da interface do usuário

A MUI (Interface do Usuário Multilíngue) permite que seus aplicativos gerenciem idiomas de interface do usuário de duas maneiras. Um aplicativo pode usar uma abordagem simples para o gerenciamento de idiomas por padrão para as configurações de linguagem do sistema operacional. Como alternativa, o aplicativo pode dar suporte a seus próprios idiomas dos quais o usuário pode selecionar. A API MUI também permite que seu aplicativo acesse diretamente idiomas e listas de idiomas compatíveis com o sistema operacional e mantidos pelo carregador de recursos. O restante deste tópico define os idiomas compatíveis com o sistema e o mecanismo de fallback de idioma.

Idiomas mantidos pelo sistema operacional

Idioma da interface do usuário padrão do sistema/idioma de instalação

O idioma padrão da interface do usuário do sistema é o idioma da versão localizada usada para configurar o Windows. Todos os menus, caixas de diálogo, mensagens de erro e arquivos de ajuda são representados nesse idioma, exceto quando o usuário seleciona um idioma diferente.

No Windows Vista e posterior, a linguagem de interface do usuário padrão do sistema é conhecida como "linguagem de instalação" e desempenha uma função mais limitada. Para a maioria das finalidades, ele é substituído pelas linguagens de interface do usuário preferenciais do sistema. No entanto, em determinados contextos, é útil ter um único idioma de instalação que é sempre conhecido por ser totalmente compatível.

Nota

Aplicativos do Windows, como Paint, Bloco de Notas, Wordpad e opções de menu, ainda serão exibidos na linguagem de interface do usuário padrão do sistema após uma implantação de MUI.

Nenhuma função MUI está disponível para definir a linguagem de interface do usuário padrão do sistema. Para recuperar esse idioma, o aplicativo pode chamar GetSystemDefaultUILanguage.

Idioma da interface do usuário do sistema

O sistema operacional define a linguagem de interface do usuário do sistema como uma linguagem de interface do usuário que pode ser definida por um administrador na guia Advanced da parte regional e de opções de idioma do Painel de Controle. O sistema operacional usará esse idioma se o usuário atual não tiver feito configurações de idioma específicas ou se nenhuma conta ativa estiver conectada. O idioma só poderá ser alterado se mais de uma linguagem de interface do usuário estiver instalada no computador.

Nota

O sistema operacional deve ser reinicializado para que todos os usuários e serviços vejam o efeito da alteração de idioma.

 

Nenhuma função MUI está disponível para definir a linguagem de interface do usuário do sistema. Para recuperar esse valor, um aplicativo direcionado ao Windows Vista e posterior pode chamar GetSystemPreferredUILanguages e obter o primeiro idioma na lista de idiomas de interface do usuário preferenciais do sistema. Aplicativos direcionados a sistemas operacionais pré-Windows Vista não podem usar getSystemPreferredUILanguages e devem se basear na suposição de que a linguagem de interface do usuário do sistema é sempre a mesma que a linguagem de interface do usuário padrão do sistema.

Idioma da interface do usuário do usuário

O idioma da interface do usuário determina a linguagem de interface do usuário usada para menus, caixas de diálogo, arquivos de ajuda e assim por diante. Ele pode ser definido pelo usuário atual na guia Idioma da parte de opções regionais e de idioma do Painel de Controle. Esse idioma só poderá ser alterado se mais de uma linguagem de interface do usuário estiver instalada no computador. Observe que o usuário terá que fazer logoff e fazer logon novamente para ver o efeito. Por exemplo, uma empresa multinacional deseja implantar o Windows em todas as suas subsidiárias. A empresa cria um trabalho de instalação global, que instala a versão em inglês do Windows em todos os clientes, independentemente do local. Ao mesmo tempo, ele instala módulos de idioma específicos, dependendo da unidade organizacional da qual um computador é membro. Quando o usuário faz logon na primeira vez em um sistema operacional recém-instalado, o Windows aparece como uma versão localizada.

No Windows Vista e posterior, o idioma da interface do usuário do usuário é o primeiro idioma na lista de idiomas de interface do usuário preferenciais do usuário. Observe que os idiomas de fallback podem ser usados se recursos específicos não estiverem disponíveis neste idioma.

Em sistemas operacionais pré-Windows Vista, o idioma da interface do usuário do usuário geralmente é o mesmo que a linguagem de interface do usuário padrão do sistema. No entanto, para o Windows MUI, os dois idiomas podem ser diferentes.

Para recuperar o idioma da interface do usuário do usuário, um aplicativo pode chamar GetUserDefaultUILanguage ou GetUserPreferredUILanguages. O aplicativo não pode alterar o idioma da interface do usuário do usuário, pois não há nenhuma função para defini-lo.

Listas de idiomas mantidas pelo sistema operacional

Lista de idiomas de interface do usuário preferenciais do sistema

O carregador de recursos mantém uma lista de idiomas de interface do usuário preferenciais do sistema. Incluídos nesta lista estão os idiomas preferidos pelo sistema operacional para seus próprios recursos, como menus e caixas de diálogo, mensagens, arquivos INF e arquivos de ajuda. A lista é composta pela linguagem de interface do usuário padrão do sistema e o idioma da interface do usuário do sistema e seus fallbacks. Um aplicativo pode recuperar idiomas de interface do usuário preferenciais do sistema chamando GetSystemPreferredUILanguages.

Lista de idiomas de interface do usuário preferenciais do usuário

O carregador de recursos usa uma lista de idiomas de interface do usuário preferenciais do usuário que inclui idiomas que o usuário prefere. O carregador de recursos usa idiomas correspondentes a recursos desta lista, se disponível, para um thread de aplicativo específico. Esses idiomas têm precedência sobre quaisquer preferências do sistema. Para recuperar idiomas de interface do usuário preferenciais do usuário, seu aplicativo pode chamar GetUserPreferredUILanguages.

Processar lista de idiomas de interface do usuário preferenciais

No Windows Vista e posterior, o carregador de recursos mantém uma lista de idiomas de interface do usuário preferenciais do processo que consiste em até cinco idiomas válidos definidos por um processo em execução para um aplicativo MUI. Os idiomas podem ser definidos pelo aplicativo com uma chamada para SetProcessPreferredUILanguages. O aplicativo pode recuperar os idiomas chamando GetProcessPreferredUILanguages.

Lista de idiomas de interface do usuário preferenciais do thread

No Windows Vista e posterior, o carregador de recursos usa uma lista de idiomas de interface do usuário preferenciais de thread que consiste em até cinco idiomas válidos definidos por um thread em um processo em execução para um aplicativo MUI. Esses idiomas são usados para personalizar os idiomas da interface do usuário do aplicativo e torná-los diferentes do idioma do sistema operacional. A lista de idiomas de interface do usuário preferenciais do thread baseia-se nos idiomas de interface do usuário preferenciais do usuário, nos idiomas de interface do usuário preferenciais do sistema e no idioma padrão da interface do usuário do sistema.

Para definir os idiomas de interface do usuário preferenciais do thread, o aplicativo deve chamar SetThreadPreferredUILanguages. Para recuperar esses idiomas, o aplicativo chama GetThreadPreferredUILanguages.

Representação de linguagem neutra

Uma linguagem neutra é representada como o idioma sozinho, sem região ou localidade. Por exemplo, a representação neutra do idioma inglês (Canadá), en-CA, é representada como "en". Mesmo que uma linguagem neutra não esteja associada aos aspectos de uma região ou localidade, você pode associá-la a um conjunto de recursos. Normalmente, um recurso de linguagem neutra baseia-se no uso na região mais predominante para o idioma.

Como ilustração, suponha que seu aplicativo MUI localize recursos de idioma alemão para alemão (Suíça) representados como de-CH e alemão (Áustria) representados como de-AT, enquanto cria um conjunto completo de recursos para alemão (Alemanha) representado como de-DE. Você deve tomar decisões para este aplicativo considerando arquivos de recursos inteiros. Se o aplicativo duplicar os recursos de-DE como recursos de linguagem neutra, ele deverá fornecer uma linguagem de fallback para o carregador de recursos. Se o carregador não encontrar um arquivo de recurso específico do idioma específico para de-CH ou para de-AT, ele retornará aos recursos "de" neutros em linguagem. Esses recursos provavelmente são mais apropriados do que recursos para um idioma completamente diferente, por exemplo, inglês (Estados Unidos), que são os únicos outros fallbacks possíveis.

Como outro exemplo, um aplicativo pode não ser localizado para Belize. No entanto, o suporte a uma preferência de idioma de inglês (Belize), representada como en-BZ, permite que o aplicativo recue para recursos "en".

Fallback de linguagem no Carregador de Recursos

O Windows Vista e posteriormente organizam as configurações de linguagem de interface do usuário em uma lista de idiomas de fallback pré-ordenada usada pelo carregador de recursos. Para formar a lista, o sistema operacional combina vários idiomas, na ordem mostrada:

  • Linguagens de interface do usuário preferenciais do thread, que consistem em linguagem de interface do usuário de thread e sua forma neutra. Exemplos são fr-FR para francês (França) e sua forma neutra "fr" e es-ES para espanhol (Espanha) e sua forma neutra "es".

  • Processe idiomas de interface do usuário preferenciais, consistindo em linguagem de interface do usuário de processo e sua forma neutra. Um exemplo é de-DE para alemão (Alemanha) e sua forma neutra "de".

  • Idioma da interface do usuário do usuário e sua forma neutra. Um exemplo é ja-JP para japonês (Japão) e sua forma neutra "ja".

  • Idioma da interface do usuário do sistema e sua forma neutra. Um exemplo é it-IT para italiano (Itália) e sua forma neutra "it".

    Nota

    Esse idioma só é incluído na lista de fallback quando o idioma da interface do usuário não está definido.

     

  • Linguagem de interface do usuário padrão do sistema e sua forma neutra. Um exemplo é es-ES para espanhol (Espanha) e sua forma neutra "es".

A seguir, mostra a lista de fallback mesclado. Observe que a duplicação de idiomas, por exemplo, es-ES e es, é eliminada. Como o exemplo define o idioma da interface do usuário como ja-JP, o idioma da interface do usuário do sistema não aparece na lista de fallback mesclado.

fr-FR, fr, es-ES, es, de-DE, de, ja-JP, ja

Ao carregar recursos para um aplicativo MUI, o carregador de recursos tenta selecionar um dos arquivos que correspondem à lista de idiomas de interface do usuário preferenciais do thread para o thread do aplicativo em execução no momento. Se o carregador de recursos não conseguir encontrar uma correspondência direta entre um idioma selecionado e o primeiro recurso específico do idioma na lista de fallback mesclado, ele verificará os idiomas subsequentes na lista até encontrar um fallback aceitável.

Se o carregador de recursos não encontrar nenhum arquivo necessário, ele deverá usar uma linguagem de fallback "boa garantida". Para a tecnologia de recurso MUI, o carregador de recursos determina a linguagem de fallback dos dados de configuração de recurso fornecidos. Para obter mais informações, consulte de Gerenciamento de Recursos mui.

sobre de interface do usuário multilíngue

localidades e idiomas

de Terminologia do NLS