Imagem do artigo Internacionalização e localização em Flutter: Configuração do ambiente para internacionalização

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.

Imagem do artigo Internacionalização e localização em Flutter: Tradução de strings

Próxima página do Ebook Gratuito:

136Internacionalização e localização em Flutter: Tradução de strings

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto