Por mais promissor que o mercado brasileiro possa ser para a área de desenvolvimento móvel, não é sensato restringirmos a capacidade de desenvolvimento brasileira somente ao nosso idioma uma vez que o mercado de aplicativos para dispositivos móveis é ainda mais desenvolvido em países da América do Norte, Ásia e Europa.
Segundo HASELTON (2012), O Gartner Group teria indicado uma participação de 56.1% da plataforma Android em dispositivos móveis no mundo inteiro, o que representa mais 86.6 milhões de dispositivos vendidos com o sistema operacional somente no primeiro quadrimestre de 2012.
Comparando estes números com a estimativa da Google, divulgada pela Época Negócios (2012), de que, no início de 2012, 14% dos brasileiros possuem smartphones, isso cria um mercado de aproximadamente 16 milhões de usuários de Android no país. Se, de alguma forma, pudermos portar os mesmos aplicativos para o idioma espanhol, por exemplo, é possível alcançar países latino-americanos como a Argentina, que possui 24% da população com smartphones e México, com 20% da população usando estes mesmos aparelhos, segundo o mesmo estudo.
Antevendo esta situação, a plataforma Android foi projetada de uma maneira globalizada, fornecendo características que permitem o desenvolvimento multi-idioma de uma maneira simples e rápida, utilizando arquivos XML, alvo deste breve estudo. Este post está estruturado da seguinte forma: a seção 2 apresenta um breve estudo sobre as características do suporte à múltiplos idiomas em aplicativos Android, seguida de, algumas conclusões sobre o trabalho e por fim as referências bibliográficas no final deste artigo.
Usando o recurso de internacionalização
Frente à estratégia da plataforma Android de ser uma solução global para dispositivos móveis, permitir o suporte nativo à múltiplos idiomas foi um pré-requisito para o sucesso do sistema operacional móvel.
O Android possui recursos integrados para adaptar sua interface conforme o idioma escolhido pelo usuário nas configurações do smartphone ou tablet e desde que o desenvolvedor do aplicativo tenha se preparado para tal escolha, seguindo as linhas-guia de desenvolvimento de aplicação sugeridas em Developer.Android.com (2012).
Para testar o suporte a múltiplos idiomas em uma mesma aplicação foi criado um projeto de aplicativo Android usando a IDE MotoDev Studio for Android, versão 4, da Motorola. Usando o próprio template padrão de aplicação, sobre a plataforma Android 2.1, obteve-se a estrutura de pastas no projeto conforme ilustrado pela Figura 1.
Por padrão, o Android cria dentro da pasta ‘res’ (de resources) uma pasta ‘values’ que possui um único arquivo, ‘strings.xml’. Esse arquivo contém uma coleção de chaves e seus respectivos valores, representando textos a serem exibidos na interface do aplicativo para o usuário.
Uma vez que o desenvolvedor armazene todos seus textos neste arquivo, ele pode criar versões do mesmo para outros idiomas, sem necessidade de programar esse chaveamento entre idiomas, que já é nativo da plataforma. Para, por exemplo, permitir à aplicação exibir textos nos idiomas Português, Inglês e Espanhol (as línguas mais faladas no ocidente e algumas das mais faladas no mundo), basta que se crie uma pasta para cada idioma, seguindo uma nomenclatura padrão de ‘values-’ + iniciais do idioma.
Neste caso, foi criada uma pasta ‘values-es’ (espanhol) e outra ‘values-en’ (inglês), como demonstrado na figura 2. A IDE automaticamente já cria uma cópia do arquivo ‘strings.xml’ nestas novas pastas, com as mesmas chaves e valores do arquivo original.
Desta forma, basta o desenvolvedor traduzir os valores (mas não as chaves) dos novos arquivos ‘strings.xml’ que o Android, automaticamente, selecionará o arquivo correto conforme o idioma do smartphone do usuário. Neste exemplo, não foi criada uma pasta específica para o idioma Português, que foi assumido como padrão e terá suas strings contidas na pasta ‘values’ original. Selecionando qualquer um dos três arquivos ‘strings.xml’ o editor visual da IDE apresenta uma tabela com as chaves e seus respectivos valores em cada arquivo, como ilustrado a seguir.
Na sequência foi testada a aplicação em simuladores configurados para cada um dos idiomas, obtendo os resultados apresentados na figura 4, onde conforme o idioma selecionado, a mesma aplicação exibiu textos diferentes, adequados ao idioma do dispositivo, tendo a troca de idioma do aplicativo abstraída pelo sistema operacional.
Conclusões
O mercado de desenvolvimento para dispositivos móveis não possui fronteiras uma vez que a adoção de smartphones vem crescendo exponencialmente no mundo inteiro. Restringir o público de sua aplicação somente ao mercado nacional, ou mesmo somente aos povos que falam Português, pode não ser uma boa ideia para a maioria dos aplicativos.
A plataforma Android possui um mecanismo simples e eficiente para desenvolvimento de aplicativos multi-idioma, que apenas exige do desenvolvedores um pouco mais de organização ao deslocar os textos estáticos de sua aplicação para arquivos XML. Desta forma, pode-se ter arquivos com os textos de sua aplicação para cada um dos idiomas que se quer atingir com a mesma. O restante fica a cargo do sistema operacional, que identifica o idioma do utilizador e exibe os textos mais adequados.
Desta forma, é possível desenvolver facilmente aplicativos globalizados, bastando ao desenvolvedor traduzir os textos da aplicação ou contratar um profissional que o faça. Com isso, pode-se alcançar resultados muito mais expressivos, principalmente em aplicativos que dependam de escala para serem lucrativos, como os famoso jogos de $0,99.
Referências
HASELTON, T.; Android Has 56.1% Of Global OS Market Share, Gartner Says. Disponível em: <http://www.technobuffalo.com/companies/google/android/android-has-56-1-of-global-os-market-share-gartner-says/>. Acesso em: 01 dezembro 2012.
ÉPOCA NEGÓCIOS; No Brasil, 14% da População já possui um smartphone, 2012. Disponível em: <http://epocanegocios.globo.com/Informacao/Resultados/noticia/2012/05/no-brasil-14-da-populacao-ja-tem-um-smartphone.html>. Acesso em: 01 dezembro 2012.
DEVELOPER.ANDROID.COM; Supporting Different Languages, 2012. Disponível em: < http://developer.android.com/training/basics/supporting-devices/languages.html>. Acesso em: 01 dezembro 2012.
Olá, tudo bem?
O que você achou deste conteúdo? Conte nos comentários.