Para começar, abrindo a pasta do projeto no Finder, vamos criar as pastas onde os arquivos localizados (no sentido de tradução) vão ser colocados. O nome da pasta vai ser o código do idioma, sendo que deve estar no formato ISO 639-1 ou ISO 639-2, com uma extensão *.lproj. Por exemplo: quero que meu aplicativo tenha o idioma em Português, Inglês e Espanhol, serão criadas três pastas:
- pt.lproj: para o português;
- en.lproj: para o inglês;
- es.lproj: para o espanhol;
Com as pastas criadas, agora vamos criar um arquivo: abra o Xcode e na pasta Resources, vamos criar um novo arquivo: então clique com o botão direito na pasta e selecione Add > New File. Dentro selecione Resource > Strings File e clieque em "Next". Dê o nome de "Localizable.strings" e salvando dentro de uma das pastas, de acordo com o idioma desejado. Note que vai precisar fazer a mesma coisa para todas as pastas.
Com o arquivo criado, vamos começar a criar o dicionário. A estrutura dos arquivos Localizable.string é a seguinte
"nomeDaChave" = "Texto No Idioma";
Exemplo prático para um "Oi" e "Tchau" nos três idiomas:
Em pt.lproj:
"oi" = "Oi";
"tchau" = "Tchau";
Em en.lproj:
"oi" = "Hello";
"tchau" = "Bye";
Em es.lproj:
"oi" = "Hola";
"tchau" = "Chau";
Perceba que a chave sempre será o mesmo nos três arquivos, mas a mensagem que ela usará é no idioma correspondente.
Por último, precisamos chamar o dicionário quando for utilizar as mensagens/palavras. Para isso, usamos a função NSLocalizedString, que recebe dois argumentos: o primeiro vai ser uma string indicando a chave desejada. O segundo argumento é uma descrição, explicando o contexto. Geralmente o segundo vai receber o valor nil. Exemplo de como usar a função:
NSLocalizedString(@"oi",nil);
NSLocalizedString(@"tchau",nil);
Com isso, ele vai verificar o idioma do sistema e procurar a chave e retornar a mensagem correspondente ao idioma.
Acredito que é isso, até o próximo tutorial.
Para ajudar na tradução dos arquivos .strings, você pode utilizar uma colaborativa plataforma da tradução do site e aplicativos, como https://poeditor.com
ResponderExcluir