Internacionalizando aplicativos para iOS no XCode 4.2 parte 1 – NIBs e Storyboards

by gregoriomelo on novembro 8, 2011

Não foi fácil encontrar um passo a passo legal pra mostrar como internacionalizar aplicativos para iOS com o XCode 4.2 Os tutoriais que encontrei eram defasados, pouco instrutivos ou incompletos. Encontrei o melhor texto no livro iOS Programming: The Big Nerd Ranch Guide. Vou tentar sintetizar um pouco. Vamos começar pelos

NIBs ou Storyboards

Abra sua aplicações para iOS no XCode e selecione a tela que você desejar internacionalizar primeiro. Abra o File Inspector (Cmd + Option + 1). Há um bloco chamado ‘Localization’:

localization

Clique no ‘+’ e escolha língua para a qual você deseja ter a sua aplicação internacionalizada (vamos focar no português). Veja que o arquivo de interface fica com opção para expandir o conteúdo:

Expanded Storyboard

E vamos pra linha de comando!

No Terminal, entre no diretório raiz da sua aplicação. Entre na pasta com o nome da sua aplicação (por exemplo, MyApp). Dentro dela há uma pasta chamada ‘en.proj’ entre nela e digite o seguinte comando:

ibtool --generate-strings-file ../../Localizable.strings TELA

Em vez de tela, ponha o nome do NIB ou Storyboard que você deseja internacionalizar. Como exemplo, o comando poderia ser o seguinte:

ibtool --generate-strings-file ../../Localizable.strings MainStoryboard.storyboard

Onde MainStoryboard.storyboard é o arquivo que eu desejo internacionalizar.

Este comando irá criar um arquivo chamado Localizable.string na raiz do seu projeto. Edite o arquivo Localizable.strings para colocar os campos na língua que você deseja. Vá para a pasta da nova linguagem suportada, pt.lproj e digite o seguinte comando:

ibtool --strings-file ../../Localizable.strings --write MainStoryBoard.storyboard ../en.lproj/MainStoryBoard.storyboard

(Lembrando que MainStoryboard.storyboard é o nome do arquivo da tela da nossa aplicação o qual desejamos internacionalizar.) Esse comando cria um arquivo de interface chamado MainStoryboard.storyboard na pasta que estamos, baseado no arquivo de storyboard da pasta em inglês, e pega o conteúdo do arquivo Localizable.strings para poder preencher o texto dos campos.

Depois de executar o comando acima, volte para o XCode e abra a tela internacionalizada. Agora é só repetir os mesmos passos com outras linguagens. Quando um novo campo for criado, a mesma rotina deverá ser executada.

Valeu!

Leave your comment

Required.

Required. Not published.

If you have one.