Internacionalização - exmo/equizmo-ios GitHub Wiki

Onde encontrar?

Em todos os ViewControllers;

Como funciona?

Em objectiveC a internacionalização é muito tranquila. Basta criar o arquivo Localizable.strings.

Para utilizar a string basta utilizar o seguinte recurso:

NSString* text = NSLocalizedString(CHAVE, COMENTARIO);

O arquivo Localizable.strings deve estar da seguinte maneira:

// COMENTARIO
"CHAVE"="Texto...";

Para criar outra lingua é bom primeiro criar este arquivo em sua quase totalidade para depois pedir ao xcode para gerar o mesmo em outra lingua. Porém, ele apenas copiará e você deverá alterar as mensagens ( bem que podia ser automático, rsrsrs);

Mas existe um problema, se colocar via interfacebuilder em nossos xib's a mensagem diretamente, ela não será internacionalizada. Por isso criamos no pacote /view/components classes especializadas para componentes visuais: LocalizedButton, LocalizedLabel e LocalizedTextField;

Esses componentes utilizam o texto informado no interfacebuilder como a chave;

Para utilizar este recurso é preciso no interfacebuilder selecionar o componente e dizer que a classe que ele representa é a equivalente (LocalizedButton, LocalizedLabel e LocalizedTextField).