Este guia mostra como configurar internacionalização (L10n) no seu projeto Flutter usando arquivos .arb e o comando flutter gen-l10n.
📦 1. Adicione dependências no pubspec.yaml
Inclua as seguintes dependências e habilite a geração de localizações:
dependencies:flutter:sdk:flutterflutter_localizations: # Necessário para suporte a localizaçõessdk:flutterintl:^0.17.0 # Use a versão mais adequada ao seu projetoflutter:generate:true # Ativa a geração automática de arquivos de localização
🔸 Observação:
Se o seu app utiliza micro frontends, adicione essas configurações no pubspec.yaml do módulo compartilhado (base do app).
🧩 2. Configure o MaterialApp no main.dart
Adicione os delegates no MaterialApp para suportar múltiplos idiomas:
🔸 Observação:L10N.delegate e L10N.supportedLocales darão erro até que os arquivos sejam gerados. Após a geração (ver passo 6), aceite o import sugerido.
🔸 Observação:
Em projetos com micro frontends, essa configuração deve estar no main.dart do módulo principal, onde o MaterialApp é criado.
📁 3. Estrutura de pastas
Crie a seguinte estrutura de diretórios:
🔸 Observação:
Essa estrutura é apenas um exemplo. Adapte conforme a organização do seu projeto. Em projetos modularizados, crie essas pastas no módulo compartilhado.
📝 4. Crie o arquivo base .arb
Dentro da pasta localization/l10n, crie o arquivo intl_pt.arb com o seguinte conteúdo:
⚙️ 5. Crie o arquivo l10n.yaml
Na raiz do módulo onde estão as pastas l10n e generated, crie o arquivo l10n.yaml com a seguinte configuração:
🔸 Observação:
Ajuste os caminhos de arb-dir e output-dir conforme a estrutura do seu projeto.
🛠️ 6. Gere os arquivos de localização
Execute o seguinte comando no terminal para gerar os arquivos necessários:
Após isso, os arquivos serão gerados na pasta generated, e você poderá importar e utilizar a classe L10N no seu projeto normalmente.
✅ Pronto! Agora seu projeto está configurado para suportar internacionalização com o Flutter L10n.