Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Código do professor não funciona devido a nova versão do flutter com suporte a null safety

class ViewI18N {
  String _language;

  ViewI18N(BuildContext context) {
    // o problema dessa abordagem
    // é o rebuild quando voce troca de lingua
    // oque voce quer reconstruir quando trocar o curretlocalecubit
    // em geral, eh comum reinicializar o sistema, ou voltar para a tela inicial.
    this._language = BlocProvider.of<CurrentLocaleCubit>(context).state;
  }
  String localize(Map<String, String> values) {
    return values[_language];
  }
}

O view18N gera esse erro Non-nullable instance field '_language' must be initialized. (Documentation) Try adding an initializer expression, or add a field initializer in this constructor, or mark it 'late'.

E o return values[_language]; Gera esse erro A value of type 'String?' can't be returned from the method 'localize' because it has a return type of 'String'. (Documentation)

1 resposta
solução!

O erro estava aqui

class CurrentLocaleCubit extends Cubit<String> {
  CurrentLocaleCubit(String initialState) : super('pt_br');
  // CurrentLocaleCubit() : super('pr-br');
}

Cometi o erro de colocar super('pt-br');