Internacionalizando seu app Android

Essa semana fiquei responsável por internacionalizar um app, coisa simples(Que eu não sabia XD) e resolvi escrever um post sobre isso e tentar detalhar o máximo possível para iniciantes, assim como eu.


Imagine que você desenvolve seu app e tem vontade que outras pessoas do mundo use ele, seria legal, não? Só que para isso seu app precisa estar no idioma do país em que as pessoas vão usar ele. Vamos usar o Inglês nesse exemplo, por ser o idioma mais falado no mundo, mas nada impede de você querer traduzir seu app para outros idiomas, afinal, pode traduzir para todos os idiomas do mundo se quiser. E para fazer isso no android é uma bem simples.

Agora vamos começar a parte legal hehe.

Ao abrir seu projeto, você deve ir na pasta app>src>main>res>values

Você vai ver algo assim:



Esse arquivo "string.xml" é padrão, para sempre que o device não estiver configurado em um dos idiomas suportados pelo seu app, ele vai usar usar ele como idioma padrão.

Bom, agora precisamos criar um recurso de texto para os idioma que você deseja que seu app suporte. Fazer isso é muito simples, em cima da pasta values, clique com o botão direito vai em New >Values resource file > Locale. E vai ter algo assim:  


Nesse caso estou criando para suportar dois idiomas, mas só para vocês terem ideia de que é possível fazer com mais de um idioma.

Feito isso, você vai ter algo assim:


Agora temos que preencher nossas strings (strings.xml(en-rUS) e strings. xml(pt-BR)). E ficara assim:

string.xml(en-rUS)

string.xml(pt-rBR)


Agora vamos usar um exemplo de um palavra, vale lembrar que é muito importante trabalhar com Strings no app, afinal, você não querer desenvolver um app gigantesco e depois ter o trabalho de modificar ele todo para poder fazer a internacionalização. E isso é muito simples também e vai evitar dores de cabeça no futuro.

Maneira errada(ou maneira "dor de cabeça" no futuro hehe):

 

Maneira correta(ou maneira que evita "dor de cabeça" no futuro hehe):


Mas notamos que tem um erro ai, por que está em vermelho? Simples, porque essa string ainda não existe, então temos que fazer ela existir e para fazer isso você precisa modificar suas strings, assim:

string.xml(pt-rBR)


Pronto, agora quando o app estiver com o idioma padrão em Inglês, o app rodara  em Inglês. Quando estiver em português, o app rodara em português. E quando não estiver me nenhum, ele vai usar o arquivo strings.xml como idioma padrão(ai depende qual o idioma você quer que seja padrão).


Dúvidas, só perguntar ;)

Comentários

  1. Para ajudar na tradução dos arquivos XML de maneira online, eu recomendo esta ferramenta de tradução do software - https://poeditor.com

    É uma colaborativa plataforma de crowdsourcing da tradução do site e aplicativos.

    ResponderExcluir

Postar um comentário