Windows Mobile Widgets – Parte 2

Na continuação da série de artigos sobre Windows Mobile Widgets que tenho pensada, este segundo artigo focará em essencial como podemos “internacionalizar” os nossos Widgets, ou seja, como fazer para que a interface do Widget seja multi-língua (Localization), apresentando o idioma correcto conforme as Regional Settings (Definições Regionais) do PDA onde ele estiver a ser executado.

A localização da interface de Widgets consiste em dividir a aplicação em “recursos”, sejam eles imagens, javascript, ou outros tipos de ficheiros, e colocar cópias desses recursos devidamente localizados em pastas individuais que indicam qual o idioma (Locale).

Antes de mais, há que perceber o conceito de Locale ID (ou LCID): trata-se de um código que identifica o idioma utilizado num dado elemento. Os códigos LCID que podem ser utilizados nos Widgets do Windows Mobile podem ser consultados aqui.

Utilizando por base o exemplo “Hello World” apresentado no artigo anterior, para que o interface deste widget tenha suporte para multi-língua, teremos de remover o texto da própria interface e fazer com que este seja carregado dinamicamente de um ficheiro javascript (.js), ficheiro este que será posteriormente replicado para as línguas que pretendermos. Assim, o primeiro passo será criar o ficheiro “resources.js” com os recursos do nosso Widget:

var Resources = {
 HelloWorldText: "Hello World"
};

De seguida, vamos alterar o ficheiro de interface “default.htm” para que este consuma o ficheiro de recursos:

<html>
<head>
<title>Hello World</title>
<script type="text/javascript" src="resources.js"></script>
<script type="text/javascript">
window.onload = function() {
 HelloWorldLabel.innerText = Resources.HelloWorldText;
};
</script>
</head>
<body>
<p id="HelloWorldLabel"></p>
</body>
</html>

As linhas marcadas acima indicam os locais em que o ficheiro original foi alterado.

Para efeitos de exemplo, vamos fazer agora a tradução dos recursos para Português de Portugal. Para isso, vamos criar directamente na raiz do nosso Widget uma nova pasta e dar-lhe o nome de “pt“; depois criamos uma cópia do ficheiro “resources.js” dentro da pasta “pt“. Falta agora modificar o conteúdo do ficheiro, traduzindo os textos para a língua correcta, sendo o resultado final como o seguinte:

var Resources = {
 HelloWorldText: "Olá Mundo"
};

Esta é a estrutura de ficheiros do nosso Widget já alterado:

Hello World localized files

Falta apenas empacotar os ficheiros seguindo as indicações do primeiro artigo, instalar e testar!

Para correctamente podermos ver o nosso Widget em Português, teremos que indicar ao PDA que pretendemos utilizar as Definições Regionais de Portugal, utilizando para isso as opções que podemos encontram em Start \ Settings \ System \ Regional Settings, e alterando as definições tal como mostra a imagem seguinte:

Regional Settings

Irá aparecer um aviso para reiniciar o PDA, que no nosso caso poderá ser ignorado visto que para a execução de Widgets a alteração das Definições Regionais são imediatas.

De seguida executando o Widget, poderemos ver a interface em Português de Portugal tal como pretendiamos:

Hello World Widget running localized

Podem aqui descarregar o ficheiro “Localized Hello World.wgt” que tem o resultado desta demonstração… encontramo-nos no próximo artigo! ;)

Technorati Tags: Mobilidade, Programação, Windows Mobile, Windows Mobile 6.5, Windows Mobile Widgets

0 Responses to “Windows Mobile Widgets – Parte 2”


Deixar uma Resposta