Gestão Linguística da Interface do Utilizador
A Interface do Usuário Multilíngüe (MUI) permite que seus aplicativos gerenciem os idiomas da interface do usuário de duas maneiras. Um aplicativo pode usar uma abordagem simples para o gerenciamento de idiomas usando como padrão as configurações de idioma do sistema operacional. Como alternativa, o aplicativo pode suportar seus próprios idiomas a partir dos quais o usuário pode selecionar. A API MUI também permite que seu aplicativo acesse diretamente idiomas e listas de idiomas suportados pelo sistema operacional e mantidos pelo carregador de recursos. O restante deste tópico define os idiomas suportados pelo sistema e o mecanismo de fallback de idioma.
Idiomas mantidos pelo sistema operacional
Idioma padrão da interface do usuário/idioma de instalação do sistema
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 versões posteriores, o idioma padrão da interface do usuário do sistema é conhecido como "idioma de instalação" e desempenha um papel mais limitado. Para a maioria das finalidades, ele é substituído pelos idiomas de interface do usuário preferidos do sistema. No entanto, em certos contextos, é útil ter um único idioma de instalação que seja sempre conhecido por ser totalmente suportado.
Observação
Os aplicativos do Windows, como o Paint, o Bloco de Notas, o Wordpad e as opções de menu, ainda serão exibidos no idioma padrão da interface do usuário do sistema após uma implantação do MUI.
Nenhuma função MUI está disponível para definir o idioma padrão da interface do usuário 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 um idioma da interface do usuário que pode ser definido por um administrador na guia Avançado da parte de opções regionais e de idioma do Painel de Controle. O sistema operacional usa esse idioma se o usuário atual não tiver feito configurações específicas de idioma ou se nenhuma conta ativa estiver conectada. O idioma só pode 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 que todos os usuários e serviços vejam o efeito da mudança de idioma.
Nenhuma função MUI está disponível para definir o idioma 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 preferidos da interface do usuário do sistema. Os aplicativos destinados a sistemas operacionais anteriores ao Windows Vista não podem usar GetSystemPreferredUILanguages e devem ser baseados na suposição de que o idioma da interface do usuário do sistema é sempre o mesmo que o idioma padrão da interface do usuário do sistema.
Idioma da interface do usuário
O idioma da interface 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 de idioma da parte de opções regionais e de idioma do Painel de Controle. Esse idioma só pode ser alterado se mais de um idioma da interface do usuário estiver instalado no computador. Observe que o usuário terá que fazer logoff e, em seguida, 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, instala módulos de linguagem 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 versões posteriores, o idioma da interface do usuário é o primeiro idioma na lista de idiomas da interface do usuário preferidos do usuário. Observe que idiomas de fallback podem ser usados se recursos específicos não estiverem disponíveis nesse idioma.
Em sistemas operacionais anteriores ao Windows Vista, o idioma da interface do usuário geralmente é o mesmo que o idioma padrão da interface do usuário do sistema. No entanto, para o MUI do Windows, 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 preferidos da interface do usuário do sistema
O carregador de recursos mantém uma lista de idiomas de interface do usuário preferidos 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 padrão da interface do usuário 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 preferidos do sistema chamando GetSystemPreferredUILanguages.
Lista de idiomas preferidos da interface do usuário
O carregador de recursos usa uma lista de idiomas da interface do usuário preferida do usuário que inclui os idiomas preferidos pelo usuário. O carregador de recursos usa recursos correspondentes a idiomas dessa lista, se disponíveis, para um thread de aplicativo específico. Estes idiomas têm precedência sobre quaisquer preferências do sistema. Para recuperar idiomas de interface do usuário preferidos do usuário, seu aplicativo pode chamar GetUserPreferredUILanguages.
Processar lista de idiomas preferidos da interface do usuário
No Windows Vista e posterior, o carregador de recursos mantém uma lista de idiomas de interface do usuário preferencial de 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 preferidos da interface do usuário 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 preferidos da interface do usuário do thread é baseada nos idiomas preferidos da interface do usuário do usuário, nos idiomas preferidos da interface do usuário do sistema e no idioma padrão da interface do usuário do sistema.
Para definir os idiomas de interface do usuário preferidos 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 a língua sozinha, sem região ou localidade. Por exemplo, a representação neutra da língua inglesa (Canadá), en-CA, é representada como "en". Embora um idioma neutro não esteja associado aos aspetos de uma região ou localidade, você pode associá-lo a um conjunto de recursos. Normalmente, um recurso de linguagem neutra é baseado no uso na região mais prevalente para o idioma.
Como ilustração, suponha que seu aplicativo MUI localize recursos de idioma alemão para alemão (Suíça) representado como de-CH e alemão (Áustria) representado 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 um idioma 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 termos de idioma. Esses recursos são provavelmente mais apropriados do que recursos para um idioma completamente diferente, por exemplo, o 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 de uma preferência de idioma do inglês (Belize), representado como en-BZ, permite que o aplicativo recorra aos recursos "en".
Fallback de idioma no carregador de recursos
O Windows Vista e posteriores 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 preferidas de thread, consistindo em linguagem de interface do usuário de thread e sua forma neutra. São exemplos fr-FR para o francês (França) e a sua forma neutra "fr" e es-ES para o espanhol (Espanha) e a sua forma neutra "es".
Linguagens de interface do usuário preferidas de processo, consistindo em linguagem de interface do usuário de processo e sua forma neutra. Um exemplo é de-DE para o alemão (Alemanha) e sua forma neutra "de".
Linguagem da interface do usuário e sua forma neutra. Um exemplo é ja-JP para o 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 o 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 não está definido.
Idioma padrão da interface do usuário do sistema e sua forma neutra. Um exemplo é es-ES para o espanhol (Espanha) e sua forma neutra "es".
A seguir mostra a lista de fallback mesclada. Note-se que a duplicação de línguas, 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 mesclada.
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 correspondentes à lista de idiomas de interface do usuário preferidos 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 mesclada, 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 deve usar uma linguagem de fallback "bom garantido". Para a tecnologia de recursos MUI, o carregador de recursos determina a linguagem de fallback a partir dos dados de configuração de recursos fornecidos. Para obter mais informações, consulte MUI Resource Management.
Tópicos relacionados