Clique e receba as novidades quentinhas no Telegram

Olá pessoal, tudo bom?

Uma coisa comum em APPs é o suporte a vários idiomas, recurso também conhecido como Localized Resources. O comportamento natural de uma APP preparada para esse fim é que a mesma seja versionada para idioma que estiver configurado no celular do usuário, dessa forma, se o idioma padrão do dispositivo é o Português (pt-BR) a APP apresenta suas mensagens e demais textos em português do Brasil, caso o idioma padrão seja o English (en-US) os textos são apresentados em inglês dos Estados Unidos e assim sucessivamente.

O suporte padrão para o versionamento das APPs para Windows Phone é através dos arquivos de recursos (Resources.resx) que fazem parte da estrutura padrão de arquivos do projeto da APP no Visual Studio. Veja abaixo:

wp-solution-resources

A estrutura desses arquivos de recursos (.resx) é baseada em um esquema de chave => valor, sendo assim, neles você irá definir as chaves para mensagens e labels e seus respectivos valores em relação ao idioma que você pretende suportar na APP. Veja o exemplo:

resources.resx

Vale ressaltar que o arquivo de recurso Resources.resx é considerado o arquivo com os textos do idioma padrão do seu aplicativo, ou seja, caso a configuração do idioma do celular do usuário seja uma que sua APP não tem suporte, a aplicação irá utilizar os textos definidos no arquivo Resources.resx.

Para ativar o suporte a outros idiomas, você deverá fazer o seguinte: 

  1. Clique com o botão direito no nome do projeto do seu aplicativo e selecione a opção Propriedades;
  2. Na guia Application, na caixa de seleção Supported Cultures, selecione os idiomas que você deseja suportar;
    project-properties
  3. Salve as alterações realizadas e verifique que na pasta Resources do seu projeto foram criados arquivos Resources.XXXX.resx, onde o XXXX seria a sigla do idioma que você selecionou no passo anterior;
    resources.resx.pt-br
  4. Agora, traduza as expressões textuais dos novos arquivos de acordo com seus respectivos idiomas.

E em termos de código XAML, como fica?

Veja abaixo o exemplos para o elemento TextBlock onde o valor da propriedade Text é exibido de acordo com o idioma padrão do celular. Repare que o texto vai ser buscado diretamente no arquivo de recurso e não via hardcode, ou seja, texto inserido no código XAML.

...



...

Pronto, agora é só derivar a ideia e aplicar isso em suas APPs.

Abraços,

Eduardo Henrique Rizo (@eduardorizo)

MCP

Post Relacionado: 

Fonte: Blog do Eduardo H. Rizo