Internacionalização e localização em Flutter: Alteração dinâmica do idioma

Capítulo 143

Tempo estimado de leitura: 4 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

10.10. Internacionalização e Localização em Flutter: Alteração Dinâmica do Idioma

A internacionalização e a localização são partes essenciais do desenvolvimento de aplicativos em Flutter, especialmente se você deseja alcançar uma audiência global. A internacionalização refere-se ao processo de desenvolvimento de um aplicativo que suporta vários idiomas, enquanto a localização refere-se ao processo de tradução do aplicativo para um idioma específico.

Por que a Internacionalização e a Localização são importantes?

Imagine que você criou um aplicativo incrível que oferece uma ótima experiência ao usuário, mas está disponível apenas em um idioma. Isso limitaria significativamente o número de pessoas que podem usar seu aplicativo, especialmente em um mundo tão globalizado. Ao internacionalizar e localizar seu aplicativo, você pode alcançar um público muito mais amplo e oferecer uma experiência de usuário ainda melhor, pois os usuários podem interagir com o aplicativo em seu idioma nativo.

Como implementar a Internacionalização e a Localização em Flutter?

A primeira coisa que você precisa fazer é adicionar as dependências necessárias ao seu arquivo pubspec.yaml. Essas dependências incluem flutter_localizations e intl.

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  intl: ^0.17.0

Em seguida, você precisa importar as bibliotecas necessárias em seu arquivo main.dart e adicionar os delegates de localização ao seu aplicativo.

import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:intl/intl.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      supportedLocales: [
        Locale('en', 'US'),
        Locale('es', 'ES'),
      ],
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      localeResolutionCallback: (locale, supportedLocales) {
        for (var supportedLocale in supportedLocales) {
          if (supportedLocale.languageCode == locale.languageCode &&
              supportedLocale.countryCode == locale.countryCode) {
            return supportedLocale;
          }
        }
        return supportedLocales.first;
      },
      home: MyHomePage(),
    );
  }
}

Este código define quais idiomas seu aplicativo suportará (neste caso, inglês e espanhol) e como o Flutter deve escolher o idioma apropriado com base nas configurações do dispositivo do usuário.

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

Baixar o aplicativo

Como criar arquivos de localização?

Os arquivos de localização são onde você armazenará todas as suas strings traduzidas. Você pode criar um arquivo para cada idioma que seu aplicativo suporta. Por exemplo, você pode ter um arquivo en.dart para inglês e um arquivo es.dart para espanhol. Cada arquivo conterá um mapa de strings, onde a chave é o identificador da string e o valor é a tradução.

// en.dart
const Map enUS = {
  'hello': 'Hello',
};

// es.dart
const Map esES = {
  'hello': 'Hola',
};

Em seguida, você pode usar esses arquivos de localização em seu aplicativo para exibir as strings traduzidas.

Text(AppLocalizations.of(context).translate('hello'))

Alteração Dinâmica do Idioma

Em alguns casos, você pode querer permitir que os usuários alterem o idioma do aplicativo diretamente de dentro do aplicativo. Para isso, você pode criar uma função que atualiza o locale do aplicativo.

void changeLanguage(Locale locale) {
  MyApp.setLocale(context, locale);
}

Em seguida, você pode chamar essa função sempre que o usuário selecionar um novo idioma.

Conclusão

A internacionalização e a localização são partes essenciais do desenvolvimento de aplicativos em Flutter. Ao suportar vários idiomas, você pode alcançar um público mais amplo e oferecer uma experiência de usuário melhor. Felizmente, o Flutter torna relativamente fácil implementar a internacionalização e a localização com a ajuda das bibliotecas flutter_localizations e intl.

Agora responda o exercício sobre o conteúdo:

O que é internacionalização e localização em Flutter e por que é importante?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Próximo capitúlo

Internacionalização e localização em Flutter: Suporte a pluralização

Arrow Right Icon
Capa do Ebook gratuito Como criar aplicativos do zero ao avançado, utilizando Flutter e Dart curso completo
54%

Como criar aplicativos do zero ao avançado, utilizando Flutter e Dart curso completo

3.75

(4)

267 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.