10.2. Internacionalização e localização em Flutter: Configuração do ambiente para internacionalização
Página 135 | Ouça em áudio
Internacionalização e localização são aspectos fundamentais no desenvolvimento de aplicativos, pois permitem que o aplicativo seja usado por pessoas de diferentes regiões e que falam diferentes idiomas. Flutter e Dart oferecem ferramentas poderosas para facilitar a internacionalização e localização de aplicativos. Neste texto, vamos aprender como configurar o ambiente para internacionalização em Flutter.
Antes de começar, é importante entender o que é internacionalização e localização. Internacionalização (i18n) é o processo de projetar e preparar seu aplicativo para ser usado em diferentes idiomas e regiões. Localização (l10n) é o processo de traduzir o conteúdo internacionalizado e adaptar o aplicativo para regiões específicas.
Configuração do ambiente para internacionalização
Para começar a internacionalização em Flutter, precisamos fazer algumas configurações iniciais. Primeiro, você precisará adicionar a dependência flutter_localizations ao seu arquivo pubspec.yaml:
dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter
Em seguida, você precisará importar o pacote flutter_localizations em seu arquivo main.dart e adicionar as localizações que o aplicativo suportará:
import 'package:flutter_localizations/flutter_localizations.dart'; void main() { runApp(MaterialApp( localizationsDelegates: [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: [ const Locale('en', 'US'), // English const Locale('es', 'ES'), // Spanish // ... other locales the app supports ], )); }
Os delegates de localização são classes que produzem coleções localizadas de valores específicos. GlobalMaterialLocalizations.delegate fornece strings e layouts localizados para a biblioteca Material Components. GlobalWidgetsLocalizations.delegate define o texto direcional padrão para o widget MaterialApp.
Agora, você precisa criar um arquivo Dart para cada idioma que o aplicativo suportará. Cada arquivo Dart deve conter uma classe que estende Localizations e implementa todas as strings que serão usadas no aplicativo. Por exemplo, para inglês, você pode criar um arquivo chamado app_localizations_en.dart:
class AppLocalizationsEn extends Localizations { // ... put your localized strings here }
Para cada string que você quer localizar, você precisa adicionar uma propriedade getter. Por exemplo, se você tem uma string "hello", você pode adicionar o seguinte código:
String get hello => "Hello";
Para usar a string localizada em seu aplicativo, você pode usar o método Localizations.of(). Por exemplo:
Text(Localizations.of(context, AppLocalizationsEn).hello)
Isso exibirá a string "Hello" se o idioma atual do aplicativo for inglês.
Para adicionar suporte para outro idioma, você precisa criar outro arquivo Dart e uma outra classe que estende Localizations. Por exemplo, para espanhol, você pode criar um arquivo chamado app_localizations_es.dart e adicionar a seguinte classe:
class AppLocalizationsEs extends Localizations { // ... put your localized strings here }
Em seguida, você precisa adicionar a nova localização na lista de suporte do aplicativo:
supportedLocales: [ const Locale('en', 'US'), // English const Locale('es', 'ES'), // Spanish const Locale('fr', 'FR'), // French // ... other locales the app supports ],
Em resumo, a internacionalização e localização em Flutter envolvem a configuração do ambiente para suportar vários idiomas, a criação de arquivos Dart para cada idioma com classes que estendem Localizations, e a utilização do método Localizations.of() para exibir strings localizadas. Este processo permite que você crie aplicativos que podem ser usados por usuários de diferentes regiões e que falam diferentes idiomas.
Agora responda o exercício sobre o conteúdo:
O que é necessário para configurar a internacionalização em Flutter?
Você acertou! Parabéns, agora siga para a próxima página
Você errou! Tente novamente.
Próxima página do Ebook Gratuito: