flutter CupertinoAlertDialog で日本語だとクラッシュする件

flutter CupertinoAlertDialog で日本語だとクラッシュする件

CupertinoAlertDialogを使って日本語を表示させようとすると以下のエラーでハマった。

The getter ‘alertDialogLabel’ was called on null

こちら、CupertinoAlertDialogの多言語対応が必要でした。

以下でバッチリ解決します。

まず、localizationsDelegatesに以下を追加

localizationsDelegates: [
    .....
    const FallbackCupertinoLocalisationsDelegate(),
]

そして対応するdelegateを追加

class FallbackCupertinoLocalisationsDelegate
    extends LocalizationsDelegate<CupertinoLocalizations> {
  const FallbackCupertinoLocalisationsDelegate();

  @override
  bool isSupported(Locale locale) => true;

  @override
  Future<CupertinoLocalizations> load(Locale locale) =>
      DefaultCupertinoLocalizations.load(locale);

  @override
  bool shouldReload(FallbackCupertinoLocalisationsDelegate old) => false;
}

FLUTTERの多言語対応は結構クセあるなと。

↓参考になりました。ありがとうございました!
https://github.com/flutter/flutter/issues/23047