Tecnologia

Interface de Usuário Multilíngue (MUI)

Pontos principais

  • O MUI separa a lógica do aplicativo dos arquivos de tradução, permitindo atualizações de idioma sem recompilação do código.
  • Introduzido no Windows 2000, o framework foi expandido no Windows Vista para desenvolvedores externos.
  • Utiliza a API Win32 para carregar recursos de idioma dinamicamente com base nas preferências do usuário.

A Interface de Usuário Multilíngue (MUI, do inglês Multilingual User Interface) é um framework de localização dinâmica implementado pela Microsoft em seus sistemas operacionais, como o Windows e o Windows Phone, e em softwares compatíveis. O objetivo principal do MUI é permitir que os arquivos de idioma sejam modulares e independentes da lógica de execução do aplicativo, simplificando significativamente o desenvolvimento, a implantação e a atualização de softwares localizados.

Captura de tela comparando os menus iniciar do Windows em inglês e japonês
Exemplo de interface de usuário adaptada para diferentes idiomas através de tecnologia MUI.

Funcionamento e Vantagens

Diferente da localização estática tradicional, onde as strings de texto são frequentemente incorporadas diretamente nos binários do programa, o MUI utiliza uma abordagem modular. As principais vantagens desse modelo incluem:

  • Atualizações Dinâmicas: Os recursos de idioma são armazenados em arquivos dedicados, permitindo que traduções sejam corrigidas ou atualizadas sem a necessidade de recompilar o código-fonte do aplicativo.
  • Seleção Automática: O sistema pode selecionar automaticamente o idioma com base nas preferências de região e idioma configuradas no Windows, eliminando a necessidade de o usuário escolher o idioma manualmente durante a execução do programa.
  • Integração com API: O framework utiliza a API Win32 para carregar recursos diretamente dos arquivos de idioma MUI em tempo de execução.

Evolução Histórica

O framework MUI, sua API e os arquivos de localização (conhecidos como Language Packs ou LPs) foram introduzidos originalmente no Windows 2000. A tecnologia foi expandida substancialmente no Windows Vista, permitindo que desenvolvedores de terceiros integrassem o MUI em seus próprios softwares.

Com o lançamento do Windows 7, foram introduzidos os Language Interface Packs (LIPs), que serviam como complementos aos pacotes de idioma completos. Posteriormente, no Windows 10 (especificamente a partir da build 1809), os LIPs foram substituídos pelos Local Experience Packs (LXPs).

Implementação Técnica

A tecnologia MUI está integrada ao núcleo do Windows. Para implementá-la, um desenvolvedor armazena os recursos localizáveis em um arquivo de idioma e utiliza a API MUI para carregá-los durante a execução do programa.

Níveis de Implementação

Uma implementação simples pode envolver apenas o armazenamento de strings em uma tabela de recursos do arquivo binário, utilizando a função LoadString da Win32. No entanto, o MUI oferece capacidades avançadas, como:

  • Armazenamento de recursos em DLLs separadas para maior flexibilidade de instalação.
  • Uso de funções MUI dedicadas para controle preciso sobre qual idioma carregar, independentemente da preferência do sistema.
  • Suporte a formatos de armazenamento de ativos localizáveis que não sejam necessariamente recursos de sistema.

Componentes Tecnológicos e Terminologia

Para organizar a separação entre a lógica do programa e a interface, o MUI utiliza a seguinte terminologia:

TermoDescrição
Language-neutral (LN)Recursos que mantêm o mesmo significado independentemente do idioma, como imagens sem texto ou ícones.
LN resourceUm recurso compartilhado e instalado para todas as versões de idioma do aplicativo.
LN fileUm arquivo binário do Windows que contém a lógica da aplicação e os recursos neutros.
Language-specific (LS)Elementos que variam conforme o idioma, como strings de interface ou imagens que contenham texto.
LS resource fileUm conjunto de recursos localizados para um idioma específico, também chamado de arquivo MUI.

Perguntas frequentes

O que é a Interface de Usuário Multilíngue (MUI)?

É um framework da Microsoft que permite que softwares no Windows separem seus textos e recursos de interface de sua lógica de programação, facilitando a tradução para múltiplos idiomas.

Qual a diferença entre Language Packs e LIPs?

Language Packs são pacotes completos de tradução, enquanto os Language Interface Packs (LIPs) eram versões reduzidas introduzidas no Windows 7 para suplementar a interface, sendo posteriormente substituídos pelos Local Experience Packs (LXPs) no Windows 10.

Como o MUI beneficia o desenvolvedor de software?

O desenvolvedor pode adicionar suporte a novos idiomas apenas instalando pacotes de tradução, sem precisar alterar o código-fonte ou redistribuir a lógica do aplicativo.