internacionalização e localização no ios

20
Internacionalização e localização no iOS Kaê Angeli Coutinho

Upload: kae-angeli-coutinho

Post on 16-Apr-2017

183 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Internacionalização E Localização No iOS

Internacionalização e localização no iOS

Kaê Angeli Coutinho

Page 2: Internacionalização E Localização No iOS

Introdução

Kaê Angeli Coutinho

• Muitas vezes queremos portar nossos aplicativos para outros países presentes na App Store, porém, há varias maneiras de fazer isso, algumas bem complicadas e outras mais simples.

!• Quando feito com eficácia, o número de pessoas visualizando o

aplicativo em questão aumenta significativamente, e o mesmo se torna global.

!• Este material tem, como objetivo, ensinar de maneira teórica e

prática a utilização de strings pela IDE Xcode para portabilidade de aplicativos em diversos países.

Page 3: Internacionalização E Localização No iOS

Porque portar?

Kaê Angeli Coutinho

• Mais usuários terão acesso ao apl icat ivo, consequentemente, mais possíveis downloads. !

• Maior divulgação da marca ou empresa. !• Maior satisfação dos usuários da App Store, “pense

global, desenvolva local”. !• Processo ágil e fácil, quando feito corretamente.

Page 4: Internacionalização E Localização No iOS

Motor de localização

Kaê Angeli Coutinho

• Um motor de localização é uma espécie de gerenciador que tem como principal função, exibir e adaptar conteúdo (de um determinado repositório) para uma linguagem especifica. !

• O iOS já conta com um motor de localização integrado que é muito potente. Vamos utilizar arquivos com extensão .strings, responsáveis por serem nossos repositórios de dados, para atingirmos nosso objetivo.

Page 5: Internacionalização E Localização No iOS

Arquivo .strings

Kaê Angeli Coutinho

• Como a própria extensão já diz, o arquivo contém nada mais do que strings acompanhadas pelo padrão chave-valor (dicionário). !

• Cada linguagem corresponde ao seu próprio repositório de informações. Por exemplo, certo aplicativo fora portado para as línguas Inglesa, Espanhola e Portuguesa, isto quer dizer que o projeto engloba três arquivos .strings, cada um correspondente a sua linguagem.

!• O Xcode, por padrão, distribui esses arquivos em pastas físicas

c o m n o m e s p r o p o s i t a i s . O p a d r ã o s e g u e p o r : “siglaLinguagem.lproj”.

Page 6: Internacionalização E Localização No iOS

NSLocalizedString

Kaê Angeli Coutinho

• Os arquivos .strings são somente repositórios de dados. É necessário algum tipo de mecanismo para resgatar esses dados e popular a interface do aplicativo. Este mecanismo se dá por uma macro que se comporta como uma função cujo o nome é NSLocalizedString.

!!!• A “função” recebe dois parâmetros, sendo o primeiro a chave

desejada, definida nos arquivos .strings e o segundo sendo uma string com contexto suficiente para deixar a tarefa do motor de localização mais precisa, geralmente este parâmetro é nulo. O retorno da função será a string definida para a chave desejada, já traduzida para a linguagem em uso pelo aparelho.

Page 7: Internacionalização E Localização No iOS

Mãos à obra

Kaê Angeli Coutinho

• Iremos agora, criar um projeto simples no Xcode para demonstrar a teoria apresentada.

!• Crie um novo projeto “Single View Application”. !!!!!!!!!

Page 8: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Começaremos desenvolvendo a interface gráfica via Storyboard e atrelaremos a ViewController.h.

Page 9: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Vamos rapidamente as informações do projeto. !• Repare que para cada linguagem existe um arquivo .strings

responsável, no caso do idioma Inglês há duas, mas isto é por causa do módulo de teste, que também está habilitado.

!!!!!

Page 10: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Nota-se que o Xcode já vem com uma linguagem “base” habilitada, a linguagem padrão do projeto, neste caso o Inglês. Este projeto tem como objetivo ensinar este recurso do zero, portanto delete a linguagem base. Faça isso com a lingua Inglesa também, pois iremos criar os arquivos .strings mais posteriormente.

!!!!!!

Page 11: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Neste ponto, o arquivo InfoPlist.strings deve ter sido excluído no projeto e fisicamente, ficando assim: !!!!!!!!!!!

• Exclua também a pasta Base.lproj do diretório do projeto.

Page 12: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Vamos agora criar o arquivo .strings principal, vamos chama-lo de “Localizable.strings”.

Page 13: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Com o arquivo já criado, voltamos as informações do projeto para habilitar as linguagens suportadas. Nota-se que o já fora detectada a lingua Inglesa por conta da criação do arquivo .strings no diretório “en.lproj”.

!• Clique no botão “+” e selecione a lingua Portuguesa. !!!!!!

Page 14: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Faça isso para a lingua Francesa também.

Page 15: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Quando terminado, o projeto deverá ficar assim ou similar.

Page 16: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Agora iremos popular nossos repositórios de localização, vulgo arquivos .strings

Localizable.strings (French)

Localizable.strings (Portuguese)

Localizable.strings (English)

Page 17: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Já com os arquivos .strings criados e o projeto já configurado, só nos resta popular a interface gráfica, vamos para o ViewController.m

Page 18: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Para testar os diferentes idiomas, aqui está as instruções para mudança do idioma padrão no aparelho.

Page 19: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

• Resultado final.

Page 20: Internacionalização E Localização No iOS

Kaê Angeli Coutinho

Obrigado