SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
27.11.2024

Lição 152: Melhores Práticas de Internacionalização

A internacionalização (i18n) é o processo de projetar uma aplicação de forma que possa ser adaptada para vários idiomas e regiões sem a necessidade de mudanças na engenharia. Nesta lição, abordaremos as melhores práticas para internacionalização em aplicações Swift, focando em localização, manuseio de formatos locais e garantia de acessibilidade.

1. Utilize Localizable.strings

Um dos primeiros passos para internacionalizar seu aplicativo é usar o arquivo Localizable.strings para armazenar suas strings traduzidas. Crie arquivos Localizable.strings separados para cada idioma que você suporta.

Exemplo

// Localizable.strings (Português)
"Saudacao" = "Olá, Mundo!";

// Localizable.strings (Espanhol)
"Saudacao" = "¡Hola, Mundo!";

Para acessar strings localizadas no seu código Swift, utilize:

let saudacao = NSLocalizedString("Saudacao", comment: "Uma saudação amigável")
print(saudacao) // A saída dependerá das configurações de idioma do dispositivo

2. Localizando Storyboards

Se você estiver utilizando o Interface Builder, pode localizar storyboards diretamente, selecionando o arquivo do storyboard e adicionando novas traduções. Dessa forma, você garante que os elementos da interface do usuário sejam adequadamente traduzidos.

Passos para Localizar Storyboards:

  • Selecione o arquivo do storyboard no Xcode.
  • Vá para o Inspetor de Arquivos (no painel direito).
  • Na seção de Localização, clique no botão "+" para adicionar um novo idioma.
  • O Xcode criará um arquivo de storyboard separado para essa localização, onde você poderá atualizar o texto.

3. Formatação de Datas e Números

Ao exibir datas e números, é essencial formatá-los com base na localidade do usuário. Utilize DateFormatter e NumberFormatter para lidar com isso de forma elegante.

Exemplo: Formatação de Data

let data = Date()
let formatadorDeData = DateFormatter()
formatadorDeData.dateStyle = .medium
formatadorDeData.locale = Locale.current // Utilize a localidade atual
let dataFormatada = formatadorDeData.string(from: data)
print(dataFormatada) // A saída varia com base na localidade

Exemplo: Formatação de Número

let numero = 1234567.89
let formatadorDeNumero = NumberFormatter()
formatadorDeNumero.numberStyle = .currency
formatadorDeNumero.locale = Locale.current // Utilize a localidade atual
if let numeroFormatado = formatadorDeNumero.string(from: NSNumber(value: numero)) {
    print(numeroFormatado) // A saída varia com base na localidade
}

4. Suportando Idiomas da Direita para a Esquerda

Certifique-se de que o layout do seu aplicativo suporte idiomas que utilizam a escrita da direita para a esquerda (RTL). Utilize o Auto Layout e ajuste suas strings para acomodar o RTL onde necessário.

Exemplo

if UIView.userInterfaceLayoutDirection(for: view.semanticContentAttribute) == .rightToLeft {
    // Ajuste a interface para RTL
    meuLabel.textAlignment = .right
} else {
    // Ajuste a interface para LTR
    meuLabel.textAlignment = .left
}

5. Testando Strings Localizadas

Sempre teste suas traduções para garantir que se encaixam bem na sua interface de usuário. Utilize o Simulador para rapidamente alterar as configurações de idioma e região do dispositivo emulado para fins de teste.

Mudando o Idioma no Simulador

  1. Abra o aplicativo Ajustes no Simulador.
  2. Vá para Geral > Idioma & Região.
  3. Mude o Idioma do iPhone para a localização desejada.

6. Usando NSLocalizedString de Forma Eficiente

É uma boa prática fornecer comentários significativos na função NSLocalizedString para ajudar os tradutores a entender o contexto.

Exemplo

let mensagemBoasVindas = NSLocalizedString("Mensagem_Boas_Vindas", comment: "Uma mensagem de boas-vindas exibida aos usuários ao iniciar o aplicativo")

Conclusão

A internacionalização é uma parte crucial do desenvolvimento de um aplicativo moderno que atenda a um público global. Seguindo melhores práticas, como usar Localizable.strings, localizar storyboards, formatar datas e números corretamente e testar seu aplicativo adequadamente, você pode criar uma experiência amigável e inclusiva. Sempre torne sua interface de usuário adaptável a diferentes idiomas e culturas para alcançar um público mais amplo.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!