Firebase UI for Flutter supports localization, so every single label can be customized.


    sdk: flutter
  firebase_ui_localizations: ^1.2.0


If your app supports only a single language, and you want to override labels – you will need to provide a custom class that implements DefaultLocalizations, for example:

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

class LabelOverrides extends DefaultLocalizations {
  const LabelOverrides();

  String get emailInputLabel => 'Enter your email';

  String get passwordInputLabel => 'Enter your password';

Once created, pass the instance of LabelOverrides to the localizationsDelegates list in your MaterialApp/CupertinoApp:

class MyApp extends StatelessWidget {
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        // Creates an instance of FirebaseUILocalizationDelegate with overridden labels
        FirebaseUILocalizations.withDefaultOverrides(const LabelOverrides()),

        // Delegates below take care of built-in flutter widgets

        // This delegate is required to provide the labels that are not overridden by LabelOverrides
      // ...

If you need to support multiple languages – follow the official Flutter localization guide and make sure that your custom delegate extends LocalizationsDelegate<FirebaseUILocalizations>.

Note: check out API reference to learn what labels are used by specific widgets


If you want to add a new language, make sure to add a relevant .arb file into lib/i10n.

  • copy lib/i10n/firebase_ui_en.arb to lib/i10n/firebase_ui_<your-language-code>.arb
  • translate labels
  • run dart run firebase_ui_localizations:gen_l10n
  • commit the .arb and generated .dart file
  • submit a PR