Tutorial de localização do iOS

Localização é o processo de tornar seu aplicativo compatível com outros idiomas. Em muitos casos, você cria seu aplicativo com a interface do usuário em inglês primeiro e depois localiza o aplicativo em outros idiomas, como o japonês.
O processo de localização é tedioso, e as etapas mudam pouco a pouco à medida que o XCode é atualizado. Neste post eu vou explicar todos os passos baseados no último XCode que é o XCode 7. 3.1.

Antes de iniciar o trabalho de localização, verifique se você selecionou a opção "Usar internacionalização de base".

O que é “internacionalização de base”?

Quando você cria um novo projeto XCode, o XCode irá gerar automaticamente recursos e a estrutura do arquivo incluindo-os para o idioma padrão.

Esta é a chamada linguagem “Base”. Se você está criando seu aplicativo para o mercado global, normalmente você deseja usar textos em inglês neste recurso de idioma "Base".

Adicionando Nova Localização

Ok, nós temos a estrutura de recursos da linguagem Base por padrão. Vamos adicionar novo suporte ao idioma.
Selecione seu arquivo de projeto no Project Navigator e selecione seu projeto na lista de projetos e destinos. Abra a aba Info e clique no botão “+” na seção Localizations. Em seguida, escolha um idioma que você deseja apoiar na lista suspensa mostrada.

O XCode abre uma caixa de diálogo mostrando os recursos a serem adicionados para o novo idioma. Pressionar o botão Concluir gerará esses arquivos na nova pasta do projeto de idioma chamada [New Language] .lproj. (Neste exemplo eu adicionei suporte japonês, então a pasta ja.lproj é criada.)

Agora, temos uma estrutura de arquivos como abaixo na pasta do projeto.

Onde está o arquivo Localizable.strings?

O arquivo Localizable.strings é onde você adiciona dados de tradução como pares de valores-chave.
Versões anteriores do XCode costumavam gerar um arquivo Localizable.strings por padrão, e conseguimos duplicar facilmente o arquivo Localizable.strings para outros idiomas.
Versões recentes do XCode não criam o arquivo Localizable.strings por padrão.
Para adicionar o arquivo Localizable.strings, vá em File-> New-> File , escolha Strings File na guia Resource do iOS, nomeie-o como Localizable.strings e crie o arquivo.

Agora, você tem um arquivo Localizable.strings para o idioma base, conforme abaixo.

Para adicionar Localizable.strings para japonês, clique em japonês no Inspetor de arquivos. Isso criará um novo arquivo Localizable.strings sob a pasta ja.lproj .

Agora temos dois arquivos Localizable.strings – um sob a pasta Base.lproj e o outro sob a pasta ja.lproj .

Vamos adicionar palavras e frases usadas no aplicativo ao arquivo Localizable.strings do Base .
Abaixo está um exemplo onde eu adicionei "Welcome" = "Welcome";
O lado esquerdo é chamado Key, que é posteriormente usado pelo método NSLocalizedString para retirar o texto do lado direito. Esse é o tipo de par de dados de valor-chave.

Abaixo está o exemplo do método NSLocalizedString . Nós definimos uma chave como o primeiro parâmetro do método. Ao especificar a chave como o primeiro parâmetro, o método pode extrair o valor correspondente do arquivo Localizable.strings e retornar o valor. Neste exemplo, obtenho cadeias localizadas para título, mensagem e botões de alerta.

Execute o aplicativo e devemos ver o alerta com o texto em inglês.

Como próximo passo, adicionamos textos em japonês a um arquivo Localizable.strings sob a pasta ja.lproj, como abaixo. Usamos as mesmas chaves, mas substituímos os valores pelas traduções japonesas correspondentes.

Depois disso, mude o idioma do telefone para japonês no simulador do iOS e execute o aplicativo, você deverá ver o alerta com textos em japonês agora.

É muito prático trocar o idioma do telefone sempre que você verificar os resultados da localização. O XCode tem um ótimo recurso para alternar idiomas somente dentro do aplicativo quando você executa o aplicativo no iOS Simulator.

Para fazer isso, selecione Editar Esquema no menu suspenso no canto superior esquerdo da janela do XCode e mude o Idioma do Aplicativo de Idioma do Sistema para Japonês (Consulte a imagem abaixo se você se perdeu).
Esta configuração não altera o idioma do telefone do simulador, mas apenas altera o ambiente de idioma dentro do aplicativo para o idioma especificado. Isso é conveniente quando você adiciona alguns idiomas e deseja alternar entre idiomas para verificar seu resultado de localização.

Localização de storyboard

Ok, agora sabemos como extrair textos localizados usando NSLocalizedString e como preparar dados em arquivos Localizalbe.strings .
Isso é suficiente para você mostrar programaticamente textos localizados aos usuários.
O próximo passo é apoiar a localização de textos definidos em Storyboards (como títulos de botões). Se você definir títulos de botão ou textos de rótulo em Storyboards e não alterar esses textos programaticamente em ViewControllers, precisará fazer a localização nos arquivos do Storyboard.
Para adicionar dados de tradução às palavras usadas nos Storyboards, primeiro selecione o arquivo do Storyboard no Navegador do projeto e, em seguida, selecione e adicione o japonês no Inspetor de arquivos à direita. Isso cria o arquivo .strings [StoryboardFileName] sob a pasta ja.lproj . Em nosso exemplo abaixo, como o nome do arquivo do Storyboard é Main.storyboard, Main.strings (japonês) é criado.

No arquivo Main.strings , você verá algo como abaixo.

Substitua a parte "Get Started" da linha acima para a frase japonesa correspondente como

Execute o aplicativo. O título do botão deve estar localizado em japonês corretamente.

Pain para gerenciar arquivos Strings [Storyboard] .strings

Uma dor de cabeça é que o arquivo Main.strings não será atualizado quando você adicionar novos componentes da interface do usuário no arquivo Storyboard.
Portanto, você sempre precisa adicionar componentes de interface do usuário primeiro e, em seguida, fazer Main.strings ativando a localização em japonês no Inspetor de arquivos.

Localizando o título do aplicativo

Para localizar o título do aplicativo ou outras coisas definidas no arquivo Info.plist , crie um arquivo InfoPlist.strings .
Vá para Arquivo-> Novo-> Arquivo , escolha Arquivo de Cadeias na guia Recurso do iOS, nomeie-o InfoPlist.strings . Selecione a pasta Base.lproj como o local do arquivo InfoPlist.strings . (Ao fazer isso, esse arquivo InfoPlist.strings é reconhecido como aquele para o idioma base pelo XCode).

Normalmente, estamos interessados ??em localizar esses dois valores no arquivo info.plist.

  • CFBundleDisplayName – nome do aplicativo exibido na tela inicial
  • NSHumanReadableCopyright – Descrição do copyright (por exemplo, 2014 Goldrush Computing Inc. Todos os direitos reservados)

Defina um nome de aplicativo e direitos autorais para essas duas chaves, como abaixo.

Em seguida, no Inspetor de arquivos, verifique japonês para adicionar um InfoPlist.strings sob a pasta ja.lproj (você deve manter o arquivo InfoPlist.strings selecionado ao fazer isso).

No arquivo InfoPlist.strings (japonês) , substitua os valores pela tradução em japonês, conforme abaixo.

Execute o aplicativo e veja se o título do seu aplicativo está localizado corretamente em japonês.

Este é todo o processo de localizar um aplicativo para outro idioma.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *