10.3. Internacionalização e localização em Flutter: Tradução de strings
Página 136 | Ouça em áudio
A internacionalização e a localização são aspectos essenciais no desenvolvimento de aplicativos, especialmente se o seu público-alvo é global. Neste contexto, o Flutter, juntamente com sua linguagem de programação Dart, oferece uma maneira eficiente e eficaz de traduzir strings e adaptar seu aplicativo para diferentes mercados e culturas. Este processo é conhecido como internacionalização (i18n) e localização (l10n).
A internacionalização é o processo de projetar e preparar seu aplicativo para ser usado em vários idiomas e regiões. Isso envolve a extração de strings de texto do seu código e a preparação do seu aplicativo para exibir o conteúdo traduzido. Por outro lado, a localização é o processo de traduzir o conteúdo do seu aplicativo e adaptá-lo para atender às expectativas culturais e legais de um mercado específico.
O Flutter facilita a internacionalização e a localização do seu aplicativo, fornecendo uma série de ferramentas e bibliotecas. Para começar, você precisa adicionar as dependências necessárias ao seu arquivo pubspec.yaml. Isso inclui a biblioteca 'flutter_localizations' que fornece classes e métodos para traduzir strings e a biblioteca 'intl' que fornece funcionalidades de formatação de data, hora e número.
1. Configurando a Internacionalização
Depois de adicionar as dependências, você precisa configurar a internacionalização do seu aplicativo. Isso envolve a definição de quais idiomas e regiões o seu aplicativo suportará. No Flutter, você pode fazer isso usando a classe 'Locale'. Por exemplo, se você deseja que seu aplicativo suporte inglês e espanhol, você pode fazer algo assim:
supportedLocales: [
const Locale('en', 'US'), // Inglês Americano
const Locale('es', 'ES'), // Espanhol Espanha
]
2. Tradução de Strings
A tradução de strings é uma parte importante da internacionalização e localização. No Flutter, você pode traduzir strings usando a classe 'Intl'. Para cada string que você deseja traduzir, você precisa criar uma nova instância de 'Intl' e passar a string original como argumento. Por exemplo:
String welcomeMessage = Intl.message('Welcome', name: 'welcomeMessage');
Depois de criar a instância, você pode usar o método 'of' para obter a tradução da string no idioma atual. Por exemplo:
Text(Intl.of(context).welcomeMessage);
3. Arquivos de Recursos de Idioma
Para cada idioma que seu aplicativo suporta, você precisa criar um arquivo de recursos de idioma. Este é um arquivo Dart que contém todas as traduções das suas strings. Você pode criar este arquivo manualmente ou usar a ferramenta 'intl_translation' para gerá-lo automaticamente.
4. Selecionando o Idioma Atual
Para selecionar o idioma atual, você pode usar a classe 'Locale'. Você pode obter o idioma atual usando o método 'localeResolutionCallback'. Por exemplo:
localeResolutionCallback: (Locale locale, Iterable supportedLocales) {
if (locale == null) {
return supportedLocales.first;
}
for (Locale supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale.languageCode){
return supportedLocale;
}
}
return supportedLocales.first;
}
Em resumo, a internacionalização e a localização são aspectos essenciais do desenvolvimento de aplicativos que visam um público global. O Flutter oferece uma maneira eficiente e eficaz de traduzir strings e adaptar seu aplicativo para diferentes mercados e culturas. Ao seguir estas etapas, você pode garantir que seu aplicativo será bem recebido por usuários de todo o mundo.
Agora responda o exercício sobre o conteúdo:
O que é a internacionalização e a localização no contexto do desenvolvimento de aplicativos?
Você acertou! Parabéns, agora siga para a próxima página
Você errou! Tente novamente.
Próxima página do Ebook Gratuito: