internacionalizando um aplicativo blackberry api

9
Internacionalizando Aplicativos Android Introdução Cada vez mais a internacionalização de nossos aplicativos móveis se faz necessária. Um bom motivo para isso pode ser a proliferação das lojas virtuais. Android, iPhone, Nokia (Symbian) e RIM, as principais plataformas existente hoje, tem suas lojas, que são acessadas de qualquer parte do mundo. Além disso, a falta de suporte por parte das plataformas já não é mais um empecilho para isso. Um bom exemplo é a diferença entre o Java ME presente nos telefones celulares mais comuns e o Java ME presente nos aparelhos BlackBerry. Este último já fornece API´s que facilitam e muito o processo de internacionalização de uma aplicação. Mas neste artigo vamos mostrar como desenvolver uma aplicação em Android, que pode ser visualizada em diferentes idiomas. Nosso aplicativo será bem simples, visto que, o objetivo deste artigo não é construção de interfaces, mas sim a internacionalização. 1° Passo: Criar Projeto Vamos criar um projeto bem simples, apenas uma tela de formulário, onde o usuário insere seu nome e endereço. Navegue para File->new->Android Project no Eclipse. Veja na Figura 1 os valores necessários:

Upload: ricardo-ogliari

Post on 12-Jul-2015

960 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Internacionalizando um aplicativo BlackBerry API

Internacionalizando Aplicativos Android

• Introdução

Cada vez mais a internacionalização de nossos aplicativos móveis se faz necessária. Um bom motivo para isso pode ser a proliferação das lojas virtuais. Android, iPhone, Nokia (Symbian) e RIM, as principais plataformas existente hoje, tem suas lojas, que são acessadas de qualquer parte do mundo.

Além disso, a falta de suporte por parte das plataformas já não é mais um empecilho para isso. Um bom exemplo é a diferença entre o Java ME presente nos telefones celulares mais comuns e o Java ME presente nos aparelhos BlackBerry. Este último já fornece API´s que facilitam e muito o processo de internacionalização de uma aplicação.

Mas neste artigo vamos mostrar como desenvolver uma aplicação em Android, que pode ser visualizada em diferentes idiomas.

Nosso aplicativo será bem simples, visto que, o objetivo deste artigo não é construção de interfaces, mas sim a internacionalização.

• 1° Passo: Criar Projeto

Vamos criar um projeto bem simples, apenas uma tela de formulário, onde o usuário insere seu nome e endereço.

Navegue para File->new->Android Project no Eclipse. Veja na Figura 1 os valores necessários:

Page 2: Internacionalizando um aplicativo BlackBerry API

Figura 1: Criando projeto CadastroInternacional.

• 2° Passo: Editar main.xml e strings.xml

Vamos definir nossa interface mo arquivo main.xml. Edite-e conforme mostra a Listagem 1:

Page 3: Internacionalizando um aplicativo BlackBerry API

Listagem 1:<?xml version="1.0" encoding="utf-8"?><TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" >

<TableRow><TextView

android:text="@string/nome"android:layout_width="100px" />

<EditText android:id="@+id/EditText01" android:layout_width="200px" />

</TableRow><TableRow>

<TextView android:text="@string/endereco"/><EditText android:id="@+id/EditText02" />

</TableRow><TableRow>

<TextView /><Button android:id="@+id/Button01"

android:text="@string/enviar" /></TableRow>

</TableLayout>

Utilizamos o gerenciador TableLayout para dar o formato da Figura 2 a nossa aplicação:

Figura 2: Interface do projeto CadastroInternacional.

Page 4: Internacionalizando um aplicativo BlackBerry API

Perceba que tanto o rótulo da caixa de texto de nome e endereço, como o rótulo do botão enviar, estão usando o formato @string/. Isso quer dizer que os textos para estes componentes estão no strings.xml, localizado em res/values.

Logo, o próximo passo é editar justamente o arquivo de strings. Edite-o conforme a Listagem 2:

Listagem 2:<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello World, CadastroInternacional!</string> <string name="app_name">CadastroInternacional</string> <string name="nome">Nome:</string> <string name="endereco">Endereço:</string> <string name="enviar">Enviar:</string></resources>

Até agora não vimos absolutamente nada de internacionalização, assim, qualquer que seja a linguagem e localização do aparelho Android, os textos configurados no strings.xml serão usados como rótulos dos componentes de interface. Porém, vamos começar a mudar esta história agora.

• 3° Passo: Internacionalizando

Se os rótulos dos componentes são buscados no strings.xml, é lógico que devemos ter mais arquivos xml correspondentes a outras línguas, as quais queremos internacionalizar o aplicativo. Vamos definir apenas duas: inglês e espanhol.

Navegue para File->new->Android XML File. Ou ainda, clique na imagem mostrada circulada na Figura 3.

Figura 3: Novo arquivo XML do android.

Page 5: Internacionalizando um aplicativo BlackBerry API

Independente do caminho utilizado, o vamos receber o wizard mostrado na Figura 4:

Figura 4: Wizard.

Perceba que logo ao lado do Language existe um botão ->. Clique no mesmo. Seu wizard ganhará um novo campo, veja na Figura 5:

Figura 5: Escolha da linguagem.

Page 6: Internacionalizando um aplicativo BlackBerry API

Com o campo language em mãos, devemos definir a linguagem que o xml vai trabalhar. Digite es e dê Ok na parte inferior do wizard.

Veja como ficou nossa estrutura de projeto no Eclipse:

Figura 5: Estrutura do Projeto.

Faça o mesmo para o inglês (se código é en).

Em outras plataformas, ainda deveríamos codificar algumas coisas para que os componentes entendessem que devem buscar os textos de uma fonte dependente de idioma. Porém, nesse ponto (e em outros também) o Android é muito poderoso. Nossa aplicação simplesmente já está internacionalizada, não precisamos fazer mais nada.

Execute novamente o aplicativo e verás a interface mostrada na Figura 6:

Figura 6: Aplicativo rodando em aparelho com localidade en.

No caso do meu emulador, ele já estava configurado com localidade em, sendo assim ele já modificou os rótulos dos componentes. Porém, vamos modificar a localidade do aparelho para o Japão. Para fazer isso vá até a tela dos aplicativos do Android e selecione CustomLocale:

Page 7: Internacionalizando um aplicativo BlackBerry API

Figura 7: CustomLocale.

Teremos que clicar e segurar por alguns segundos o item da lista para que um diálogo peça a confirmação de mudança de idioma para o japonês. Depois disso reinicie a nossa aplicação e, surpresa, vemos o idioma português, porque?

Isso acontece porque configuramos o português como o idioma padrão, se o Android não encontra um values-idioma referente aquele sendo usado pelo aparelho, ele utiliza o values/strings.xml.

Agora altere a localidade para o espanhol e veremos o aplicativo desta forma:

Figura 8: Aplicativo em espanhol.

Page 8: Internacionalizando um aplicativo BlackBerry API

Antes que o leitor ache que acabamos por aqui, volte para a Figura 7. Perceba que existe o de para definir que a localidade do aparelho é a Alemanha. Mas oque será o de_AT, de_CH e de_DE. Nesses casos podemos especificar a localidade e língua utilizada pelo aparelho. Por exemplo, es_EN quer dizer que o aparelho está na Espanha mas o idioma usado deve ser o inglês.

Esse comportamento também pode ser criado na internacionalização de nossos aplicativos. Copie a pasta values-en, cole na pasta res e mude o nome para values-es-rEN, de forma que a estrutura de seus diretórios fique igual a Figura 9:

Figura 9: Nova estrutura de diretórios.

Agora altere a localização e idioma do aparelho para es_EN. No meu caso tive que adicionar este novo local:

Quando o aplicativo for novamente executado estará no idioma inglês. Para finalizar, volte a configuração de localidade somente para es e execute o aplicativo, verás os textos em idioma espanhol novamente.

Page 9: Internacionalizando um aplicativo BlackBerry API

• Conclusão

Das plataformas móveis que já trabalhei mais profundamente (BlackBerry, Java ME), Android tem o melhor framework para internacionalização, chega a ser impressionante a facilidade como podemos exportar nossa uma aplicação para diferentes idiomas.

• Sobre Mim

Meu nome é Ricardo da Silva Ogliari, sou graduado em Ciência da Computação pela Universidade de Passo Fundo. Atualmente também estou cursando uma pós-graduação em web, estratégias de inovação e tecnologia, no Senac SP. Trabalho com mobile a 6 anos, escrevo artigos para algumas revistas nacionais especializadas. Sou criador e mantenedor do http://www.mobilidadetudo.com e sou um dos membros do www.javamovel.com. Palestrei em eventos nacionais e internacionais, como o FISL e o JustJava, além de ter dezenas de artigos meus espalhados pelo mundão da internet.