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:

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:
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:
Podem aqui descarregar o ficheiro “Localized Hello World.wgt” que tem o resultado desta demonstração… encontramo-nos no próximo artigo!


0 Responses to “Windows Mobile Widgets – Parte 2”