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 idioma 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 com suporte pelo sistema operacional e mantido pelo carregador de recursos. O restante deste tópico define os idiomas com suporte do 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 da interface do usuário padrão 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, o idioma da interface do usuário padrão do sistema é conhecido 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 uma única linguagem de instalação que é sempre conhecida por ser totalmente compatível.

Observação

Aplicativos do Windows, como Paint, Bloco de Notas, Wordpad e opções de menu, ainda serão exibidos no idioma da 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 o idioma da interface do usuário do sistema como uma linguagem de interface do usuário que pode ser definida por um administrador na guia Avançado da parte de opções regionais e 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 um idioma da interface do usuário estiver instalado no computador.

Observação

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

 

Nenhuma função MUI está disponível para definir a linguagem da 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. Os aplicativos direcionados a sistemas operacionais pré-Windows Vista não podem usar GetSystemPreferredUILanguages e devem ser baseados na suposição de que a linguagem da 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 do usuário determina o idioma da interface do usuário usado 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 um idioma de interface do usuário estiver instalado 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 da localização. 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 pela 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 poderão 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 o idioma da 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 pelo idioma da 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 os idiomas correspondentes a recursos desta lista, se disponível, para um thread de aplicativo específico. Esses idiomas têm precedência sobre as 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 preferencial 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 de thread preferenciais 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 da interface do usuário padrão 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

Um idioma neutro é representado 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". Embora 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 é baseado 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 esse aplicativo considerando arquivos de recursos inteiros. Se o aplicativo duplicar os recursos de 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 idioma. 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 do inglês (Belize), representada como en-BZ, permite que o aplicativo faça fallback para recursos "en".

Fallback de linguagem no Carregador de Recursos

O Windows Vista e posteriormente organizam as configurações de idioma da 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, consistindo 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 e sua forma neutra. Um exemplo é ja-JP para japonês (Japão) e sua forma neutra "ja".

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

    Observação

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

     

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

Veja a seguir a lista de fallback mesclada. 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 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 de 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 um idioma de fallback "válido garantido". Para a tecnologia de recurso MUI, o carregador de recursos determina a linguagem de fallback dos dados de configuração de recursos fornecidos. Para obter mais informações, confira Gerenciamento de Recursos mui.

Sobre a interface do usuário multilíngue

Localidades e idiomas

Terminologia de NLS